Module: Nazrin

Defined in:
lib/nazrin.rb,
lib/nazrin/config.rb,
lib/nazrin/version.rb,
lib/nazrin/search_client.rb,
lib/nazrin/document_client.rb,
lib/nazrin/paginated_array.rb,
lib/nazrin/active_record/searchable.rb,
lib/generators/nazrin/config_generator.rb,
lib/nazrin/active_record/data_accessor.rb

Defined Under Namespace

Modules: ActiveRecord, Generators Classes: Configuration, DocumentClient, PaginatedArray, SearchClient

Constant Summary collapse

VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.configObject



4
5
6
# File 'lib/nazrin/config.rb', line 4

def self.config
  @config ||= Nazrin::Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



8
9
10
# File 'lib/nazrin/config.rb', line 8

def self.configure
  yield config if block_given?
end

.paginated_array(collections, options = {}) ⇒ Object

create paginated collection



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/nazrin/paginated_array.rb', line 44

def self.paginated_array(collections, options = {})
  if Nazrin.config.pagination == 'kaminari'
    begin
      require 'kaminari'
    rescue LoadError
      abort "Missing dependency 'kaminari' for pagination"
    end
    Kaminari.config.max_pages = options[:last_page]
    Kaminari.paginate_array(collections, total_count: options[:total_count])
      .page(options[:current_page])
      .per(options[:per_page])
  else
    Nazrin::PaginatedArray.new(
      collections,
      options[:current_page],
      options[:per_page],
      options[:total_count])
  end
end