tablets 0.3.9 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 238d1476e9dd86d9dd4daffeb15e11db1e4526a4
4
- data.tar.gz: 7bd06119e0d5593f011b1ea7aa9f41def63170ec
3
+ metadata.gz: b7e0261127b2b6dcd32cbb870ba4480581a6320b
4
+ data.tar.gz: b9419a63583a1da3be7af865dbf8d9825b3bb76b
5
5
  SHA512:
6
- metadata.gz: e292ad1d238eb6d39cc70db0754569467a6beb30b6268159f66917043daece16eb79fdf1ba177e1569e503267f2ea75a7ddf864ee357c0fb49a6e3386667073a
7
- data.tar.gz: 6de1bee9d84c095e9ddbd9f816eade30fb4c9f6ee15001dda0d00a8f042f808bac2e5896808b7cf4801700a5bef6218978f22ac7b282a0781bb4ae8eae50e848
6
+ metadata.gz: 234ef30615feb35d4f8c2320e30ad55354d91a1790a87ac382fa6d7b65c7bf316daa8525a1cc738a75e9d551882fb8eaca7fdd95c5ae04d505ad6fd6102957a5
7
+ data.tar.gz: 7385d770428d5139cc64121e9cd3f421e20c5060539053751026a3f65dcf46a49befb4648e45ac5ecee9230ef2319f36e02e07ca2aa35532d950f7042ea0862e
@@ -1,5 +1,5 @@
1
1
  module Tablets
2
- # Responsible to provide data to tablet on ajax request.
2
+ # Responsible to provide data to tablet on ajax request
3
3
  class AjaxController < ApplicationController
4
4
  before_action :authorize!
5
5
 
@@ -1,20 +1,20 @@
1
1
  module Tablets
2
2
  class Data
3
3
  module Processing
4
- # Base class for relation processings.
4
+ # Base class for relation processings
5
5
  class Base
6
- # Initializes processor with relation and data reqired for processing.
6
+ # Initializes processor with relation and data reqired for processing
7
7
  def initialize(params, columns)
8
8
  @params = params
9
9
  @columns = columns
10
10
  end
11
11
 
12
- # Applies processing on relation. Need to be implemented in descendants.
12
+ # Applies processing on relation. Need to be implemented in descendants
13
13
  def apply(_relation)
14
14
  fail NotImplementedError, '#apply need to be overrided by processing.'
15
15
  end
16
16
 
17
- # Shorthand for create processing and apply it.
17
+ # Shorthand for create processing and apply it
18
18
  def self.apply(params, columns, relation)
19
19
  new(params, columns).apply(relation)
20
20
  end
@@ -7,16 +7,16 @@ require 'tablets/data/processing/base'
7
7
  module Tablets
8
8
  class Data
9
9
  module Processing
10
- # Incapsulate relation filtering logic.
10
+ # Incapsulate relation filtering logic
11
11
  class Filter < Tablets::Data::Processing::Base
12
- # Applies filter processing on relation.
12
+ # Applies filter processing on relation
13
13
  def apply(relation)
14
14
  search(relation)
15
15
  end
16
16
 
17
17
  private
18
18
 
19
- # Applies search conditions if need.
19
+ # Applies search conditions if need
20
20
  def search(relation)
21
21
  return relation unless params[:search].fetch(:value, nil).present?
22
22
 
@@ -25,19 +25,19 @@ module Tablets
25
25
  relation
26
26
  end
27
27
 
28
- # Builds search conditions.
28
+ # Builds search conditions
29
29
  def build_conditions_for(query)
30
30
  query.split(' ').map do |value|
31
31
  '(' + search_conditions(value) + ')'
32
32
  end.join(' AND ')
33
33
  end
34
34
 
35
- # Returns searchable columns.
35
+ # Returns searchable columns
36
36
  def searchable_columns
37
- columns.map { |column| column[:search] }.flatten.compact
37
+ columns.map { |column| column[:search] }.flatten.map(&:to_s).compact
38
38
  end
39
39
 
40
- # Returs search conditions for each searchable column.
40
+ # Returs search conditions for each searchable column
41
41
  def search_conditions(value)
42
42
  searchable_columns.map do |column|
43
43
  Tablets::Utils::SearchConditionBuilder.new(column, value).build
@@ -3,24 +3,25 @@ require 'tablets/data/processing/base'
3
3
  module Tablets
4
4
  class Data
5
5
  module Processing
6
- # Incapsulate relation ordering logic.
6
+ # Incapsulate relation ordering logic
7
7
  class Order < Tablets::Data::Processing::Base
8
- # Applies order processing on relation.
8
+ # Applies order processing on relation
9
9
  def apply(relation)
10
10
  params[:order].values.inject(relation) do |rel, item|
11
- rel.order("#{column(item)} #{direction(item)}")
11
+ sorting_direction = direction(item)
12
+ nulls = null_place(sorting_direction)
13
+ rel.order("#{column(item)} #{sorting_direction} #{nulls}")
12
14
  end
13
15
  end
14
16
 
15
17
  private
16
18
 
17
- # Determines order column from params.
19
+ # Determines order column from params
18
20
  def column(item)
19
21
  columns[item[:column].to_i][:order]
20
22
  end
21
23
 
22
- # Determines order direction from params.
23
- # ASC by default.
24
+ # Determines order direction from params (ASC by default)
24
25
  def direction(item)
25
26
  if %w(ASC DESC).include?(item.fetch(:dir, '').upcase)
26
27
  item[:dir].upcase
@@ -28,6 +29,15 @@ module Tablets
28
29
  'ASC'
29
30
  end
30
31
  end
32
+
33
+ # Determines where nulls appear
34
+ def null_place(sort)
35
+ if sort.upcase == 'ASC'
36
+ 'NULLS FIRST'
37
+ else
38
+ 'NULLS LAST'
39
+ end
40
+ end
31
41
  end
32
42
  end
33
43
  end
@@ -3,12 +3,11 @@ require 'tablets/data/processing/base'
3
3
  module Tablets
4
4
  class Data
5
5
  module Processing
6
- # Incapsulate relation pagination logic.
6
+ # Incapsulate relation pagination logic
7
7
  class Paginate < Tablets::Data::Processing::Base
8
- # Applies :start and :length from params to relation
9
- # as offset and limit.
10
- # :length is optional. Default value is used if no length is provided.
11
- # :start recalculated to match beginnning of page.
8
+ # Applies :start and :length from params to relation as offset and limit
9
+ # :length is optional. Default value is used if no length is provided
10
+ # :start recalculated to match beginnning of page
12
11
  def apply(relation)
13
12
  relation.offset(offset).limit(per_page)
14
13
  end
@@ -6,26 +6,26 @@ require 'tablets/data/processing/order'
6
6
 
7
7
  module Tablets
8
8
  class Data
9
- # Incapsulates database query.
9
+ # Incapsulates database query
10
10
  class Query
11
- # Initializes query with relation, params and columns.
11
+ # Initializes query with relation, params and columns
12
12
  def initialize(relation, params, columns)
13
13
  @relation = relation
14
14
  @params = params
15
15
  @columns = columns
16
16
  end
17
17
 
18
- # Applies all processings on relation and returns it.
18
+ # Applies all processings on relation and returns it
19
19
  def fetch
20
20
  paginate filter order relation
21
21
  end
22
22
 
23
- # Returns total records count before filter and pagination is applied.
23
+ # Returns total records count before filter and pagination is applied
24
24
  def total
25
25
  relation.count(:all)
26
26
  end
27
27
 
28
- # Returns records count after filter is applied but before pagination.
28
+ # Returns records count after filter is applied but before pagination
29
29
  def filtered
30
30
  filter(relation).count(:all)
31
31
  end
@@ -34,21 +34,21 @@ module Tablets
34
34
 
35
35
  attr_reader :relation, :params, :columns
36
36
 
37
- # Applies order processing.
37
+ # Applies order processing
38
38
  def order(records)
39
39
  return records unless params[:order].present?
40
40
 
41
41
  Tablets::Data::Processing::Order.apply(params, columns, records)
42
42
  end
43
43
 
44
- # Applies filter processing.
44
+ # Applies filter processing
45
45
  def filter(records)
46
46
  return records unless params[:search].present?
47
47
 
48
48
  Tablets::Data::Processing::Filter.apply(params, columns, records)
49
49
  end
50
50
 
51
- # Applies paginate processing.
51
+ # Applies paginate processing
52
52
  def paginate(records)
53
53
  return records if params[:length] == '-1'
54
54
 
data/lib/tablets/data.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  require 'tablets/data/query'
2
2
 
3
3
  module Tablets
4
- # Responsible to fetch and prepare data for jquery-datatables.
4
+ # Responsible to fetch and prepare data for jquery-datatables
5
5
  class Data
6
- # Initializes data with tablet and params.
6
+ # Initializes data with tablet and params
7
7
  def initialize(tablet, params, controller)
8
8
  @tablet = tablet
9
9
  @params = params
10
10
  @controller = controller
11
11
  end
12
12
 
13
- # Prepares data to render as json.
13
+ # Prepares data to render as json
14
14
  def as_json(_options = {})
15
15
  {
16
16
  draw: params[:draw].to_i,
@@ -25,32 +25,32 @@ module Tablets
25
25
 
26
26
  attr_reader :params, :tablet, :controller
27
27
 
28
- # Initializes query with concrete relation.
28
+ # Initializes query with concrete relation
29
29
  def query
30
30
  @query ||= Tablets::Data::Query.new(concrete_relation,
31
31
  params,
32
32
  tablet.columns)
33
33
  end
34
34
 
35
- # Relation with concretized parameters.
35
+ # Relation with concretized parameters
36
36
  def concrete_relation
37
37
  tablet.relation(relation_params, controller)
38
38
  end
39
39
 
40
- # Relation params. Empty hash by default.
40
+ # Relation params. Empty hash by default
41
41
  def relation_params
42
42
  params[:params] || {}
43
43
  end
44
44
 
45
- # Fetching records and applies process tablet callback on it.
45
+ # Fetching records and applies process tablet callback on it
46
46
  def records
47
47
  @records ||= tablet.process(query.fetch)
48
48
  end
49
49
 
50
- # Fetching columns data for each row using column[:data] value.
51
- # If column[:data] is symbol send it to the record.
52
- # If column[:data] is proc calls it on the record.
53
- # Also appends details.
50
+ # Fetching columns data for each row using column[:data] value:
51
+ # * If column[:data] is symbol send it to the record
52
+ # * If column[:data] is proc calls it on the record
53
+ # Also appends details
54
54
  def data
55
55
  records.map do |record|
56
56
  data = tablet.columns.map.with_index do |column, index|
@@ -64,7 +64,7 @@ module Tablets
64
64
  end
65
65
  end
66
66
 
67
- # Returns single cell value, for specified record and for specified column.
67
+ # Returns single cell value, for specified record and for specified column
68
68
  def cell(record, column)
69
69
  case column[:data]
70
70
  when Symbol then record.send(column[:data])
@@ -1,7 +1,7 @@
1
1
  require 'rails/engine'
2
2
 
3
3
  module Tablets
4
- # Rails mountable engine.
4
+ # Rails mountable engine
5
5
  class Engine < ::Rails::Engine
6
6
  require 'jquery-datatables-rails'
7
7
  engine_name 'tablets'
@@ -2,17 +2,17 @@ require 'rails'
2
2
 
3
3
  module Tablets
4
4
  module Global
5
- # Responsible to make application configurable.
5
+ # Responsible to make application configurable
6
6
  module Configurator
7
7
  attr_accessor :options
8
8
  attr_accessor :tablets_dir
9
9
 
10
- # Setup configuration. Used in initializers.
10
+ # Setup configuration. Used in initializers
11
11
  def setup
12
12
  yield self
13
13
  end
14
14
 
15
- # Initialize default config values.
15
+ # Initialize default config values
16
16
  def self.extended(base)
17
17
  base.options = DEFAULT_OPTIONS
18
18
  base.tablets_dir = File.expand_path('app/tablets', Rails.root)
@@ -1,19 +1,20 @@
1
1
  module Tablets
2
2
  module Global
3
- # Tablets loader. Manages files loading from app tablets directory.
3
+ # Tablets loader
4
+ # Manages files loading from app tablets directory
4
5
  module Loader
5
- # Unloads tablet.
6
+ # Unloads tablet
6
7
  def unload!
7
8
  @tablets = nil
8
9
  end
9
10
 
10
- # Checks if tablet is loading.
11
- # Tablets is not loaded only if tablets is nil.
11
+ # Checks if tablet is loading
12
+ # Tablets is not loaded only if tablets is nil
12
13
  def loaded?
13
14
  !@tablets.nil?
14
15
  end
15
16
 
16
- # Loads tablets files.
17
+ # Loads tablets files
17
18
  def load!
18
19
  @tablets = {}
19
20
  files.each { |file| load file }
@@ -21,12 +22,12 @@ module Tablets
21
22
 
22
23
  private
23
24
 
24
- # Load paths.
25
+ # Load paths
25
26
  def load_paths
26
27
  [Tablets.tablets_dir]
27
28
  end
28
29
 
29
- # Prepares files list using load paths.
30
+ # Prepares files list using load paths
30
31
  def files
31
32
  load_paths.flatten.compact.uniq.flat_map do |path|
32
33
  Dir["#{path}/**/*.rb"]
@@ -2,8 +2,8 @@ require 'tablets/tablet'
2
2
 
3
3
  module Tablets
4
4
  module Global
5
- # Tables store.
6
- # Expects @tablets to be defined elsewhere.
5
+ # Tables store
6
+ # Expects @tablets to be defined elsewhere
7
7
  module Store
8
8
  extend Forwardable
9
9
 
@@ -11,7 +11,7 @@ module Tablets
11
11
 
12
12
  def_delegators :tablets, :[]
13
13
 
14
- # Initializes tablet and put tablet into store.
14
+ # Initializes tablet and put tablet into store
15
15
  #
16
16
  # Tablets.register(:user) do
17
17
  # # Tablet configuration.
@@ -5,13 +5,13 @@ require 'tablets/view_helpers'
5
5
  module Tablets
6
6
  # Rails hooks.
7
7
  class Railtie < ::Rails::Railtie
8
- # Allows tablets view helper to be used anywhere in rails views.
8
+ # Allows tablets view helper to be used anywhere in rails views
9
9
  initializer 'tablets.view_helpers' do
10
10
  ActionView::Base.send :include, Tablets::ViewHelpers
11
11
  end
12
12
 
13
- # Manages tablets loading and cleanup.
14
- # Also ensures tablets reloading in development environment.
13
+ # Manages tablets loading and cleanup
14
+ # Also ensures tablets reloading in development environment
15
15
  initializer 'tablets.reloader' do |app|
16
16
  if app.config.reload_classes_only_on_change
17
17
  ActionDispatch::Reloader.to_prepare(prepend: true) { Tablets.unload! }
@@ -3,15 +3,15 @@ require 'active_support/core_ext/object/blank'
3
3
  require 'tablets/engine'
4
4
 
5
5
  module Tablets
6
- # Prepares markup. Renders table without any data.
6
+ # Prepares markup. Renders table without any data
7
7
  class Renderer
8
- # Initializes renderer with tablet and params.
8
+ # Initializes renderer with tablet and params
9
9
  def initialize(tablet, params = {})
10
10
  @tablet = tablet
11
11
  @params = params
12
12
  end
13
13
 
14
- # Renders table in view_context.
14
+ # Renders table in view_context
15
15
  def render(view_context)
16
16
  view_context.render(partial: 'tablets/tablet', locals: locals)
17
17
  end
@@ -20,7 +20,7 @@ module Tablets
20
20
 
21
21
  attr_reader :params, :tablet
22
22
 
23
- # Prepares locals for tablet partial.
23
+ # Prepares locals for tablet partial
24
24
  def locals
25
25
  {
26
26
  id: id,
@@ -31,7 +31,7 @@ module Tablets
31
31
  }
32
32
  end
33
33
 
34
- # Id for HTML container. Includes name and params with values.
34
+ # Id for HTML container. Includes name and params with values
35
35
  #
36
36
  # renderer = Tablets::Renderer.new(:posts, user_id: 1)
37
37
  # renderer.id #=> 'posts_user_id_1'
@@ -47,7 +47,7 @@ module Tablets
47
47
  .merge(tablet.options)
48
48
  end
49
49
 
50
- # Calculates column options and applies options on top.
50
+ # Calculates column options and applies options on top
51
51
  #
52
52
  # ...
53
53
  # columns do
@@ -77,7 +77,7 @@ module Tablets
77
77
  end
78
78
  end
79
79
 
80
- # Returns path to data.
80
+ # Returns path to data
81
81
  def data_path
82
82
  Tablets::Engine.routes.url_helpers.data_path(tablet.name)
83
83
  end
@@ -1,48 +1,48 @@
1
1
  require 'tablets/utils/config'
2
2
 
3
3
  module Tablets
4
- # Incapsulates tablet related information.
4
+ # Incapsulates tablet related information
5
5
  class Tablet
6
6
  attr_reader :name
7
7
 
8
- # Initializes tablet with name, callbacks fed with block.
8
+ # Initializes tablet with name, callbacks fed with block
9
9
  def initialize(name, &block)
10
10
  @name = name
11
11
  @config = Tablets::Utils::Config.new(&block)
12
12
  end
13
13
 
14
- # Returns general jquery-datatable configuration overrides.
15
- # By default returns empty options.
14
+ # Returns general jquery-datatable configuration overrides
15
+ # By default returns empty options
16
16
  def options
17
17
  call(:options) { {} }
18
18
  end
19
19
 
20
- # Determines is user authorized.
21
- # By default returns true.
20
+ # Determines is user authorized
21
+ # By default returns true
22
22
  def authorize(controller)
23
23
  call(:authorize, controller) { true }
24
24
  end
25
25
 
26
- # Allows to make additional processing before records would be used.
27
- # By default returns records.
26
+ # Allows to make additional processing before records would be used
27
+ # By default returns records
28
28
  def process(records)
29
29
  call(:process, records) { records }
30
30
  end
31
31
 
32
- # Returns details HTML for the record.
33
- # By default returns nil.
32
+ # Returns details HTML for the record
33
+ # By default returns nil
34
34
  def details(record)
35
35
  call(:details, record) { nil }
36
36
  end
37
37
 
38
- # Returns columns definitions.
39
- # By default deduct columns from relation.
38
+ # Returns columns definitions
39
+ # By default deduct columns from relation
40
40
  def columns
41
41
  call(:columns) { deduct_columns_from_relation }
42
42
  end
43
43
 
44
- # Returns database relation to fetch data.
45
- # By default tries to deduct class from tablet name.
44
+ # Returns database relation to fetch data
45
+ # By default tries to deduct class from tablet name
46
46
  def relation(params = {}, controller = nil)
47
47
  if defined? @name.singularize.camelize.constantize
48
48
  call(:relation, params, controller) do
@@ -53,19 +53,19 @@ module Tablets
53
53
  end
54
54
  end
55
55
 
56
- # Returns additional data returned to client.
56
+ # Returns additional data returned to client
57
57
  def payload
58
58
  call(:payload) { {} }
59
59
  end
60
60
 
61
- # Checks if config has callback with specified name.
61
+ # Checks if config has callback with specified name
62
62
  def has?(name)
63
63
  @config.has?(name)
64
64
  end
65
65
 
66
66
  private
67
67
 
68
- # Returns default columns definititions, deducted from relation.
68
+ # Returns default columns definititions, deducted from relation
69
69
  def deduct_columns_from_relation
70
70
  relation.columns.map(&:name).map do |name|
71
71
  {
@@ -76,8 +76,7 @@ module Tablets
76
76
  end
77
77
  end
78
78
 
79
- # Calls callback.
80
- # Clarifies error message on error.
79
+ # Calls callback and clarifies error message on error
81
80
  def call(callback, *params, &block)
82
81
  @config.call(callback, *params, &block)
83
82
  rescue ArgumentError
@@ -3,45 +3,45 @@ require 'active_support/core_ext/object/blank'
3
3
  module Tablets
4
4
  module Utils
5
5
  # Config utility. Allows to write configs in declarative form.
6
- # And fetch values with defaults.
6
+ # And fetch values with defaults:
7
7
  #
8
- # config = Config.new do
9
- # some_var 32
10
- # another_var 42
8
+ # config = Config.new do
9
+ # some_var 32
10
+ # another_var 42
11
11
  #
12
- # some_callback do |arg|
13
- # do_something_with arg
14
- # end
15
- # end
12
+ # some_callback do |arg|
13
+ # do_something_with arg
14
+ # end
15
+ # end
16
16
  #
17
- # config.get(:some_var) #=> 32
18
- # config.get(:non_existent_var) #=> ArgumentError
19
- # config.get(:non_existent_var, 'default') #=> 'default'
17
+ # config.get(:some_var) #=> 32
18
+ # config.get(:non_existent_var) #=> ArgumentError
19
+ # config.get(:non_existent_var, 'default') #=> 'default'
20
20
  #
21
- # config.call(:some_callback, 'my_arg') { |arg| default_action arg }
21
+ # config.call(:some_callback, 'my_arg') { |arg| default_action arg }
22
22
  #
23
23
  class Config
24
- # Initializes config with block.
25
- # Block is optional and can be applied later.
24
+ # Initializes config with block
25
+ # Block is optional and can be applied later
26
26
  def initialize(&block)
27
27
  @hash = {}
28
28
 
29
29
  apply(&block) unless block.nil?
30
30
  end
31
31
 
32
- # Executes block in config context.
32
+ # Executes block in config context
33
33
  def apply(&block)
34
34
  instance_eval(&block)
35
35
  end
36
36
 
37
- # Checks if value or callback is defined with specified name.
37
+ # Checks if value or callback is defined with specified name
38
38
  def has?(name)
39
39
  @hash[name].present?
40
40
  end
41
41
 
42
- # Returns value.
43
- # If no value defined, returns default.
44
- # If no default raises ArgumentError.
42
+ # Returns value
43
+ # If no value defined, returns default
44
+ # If no default raises ArgumentError
45
45
  def get(name, default = nil, &default_block)
46
46
  value = @hash[name][0] if @hash[name]
47
47
 
@@ -56,9 +56,9 @@ module Tablets
56
56
  end
57
57
  end
58
58
 
59
- # Calls callback.
60
- # If no calbback defined, calls default.
61
- # If no default raises ArgumentError.
59
+ # Calls callback
60
+ # If no calbback defined, calls default
61
+ # If no default raises ArgumentError
62
62
  def call(name, *params, &default)
63
63
  callback = @hash[name][0] if @hash[name]
64
64
 
@@ -73,7 +73,7 @@ module Tablets
73
73
 
74
74
  private
75
75
 
76
- # Gathers all calls.
76
+ # Gathers all calls
77
77
  def method_missing(name, *args, &block)
78
78
  @hash[name] = [*args, block]
79
79
  end
@@ -3,46 +3,46 @@ require 'active_record'
3
3
 
4
4
  module Tablets
5
5
  module Utils
6
- # Resposible for building database specific search conditions.
6
+ # Resposible for building database specific search conditions
7
7
  class SearchConditionBuilder
8
8
  attr_reader :column, :query
9
9
 
10
- # Initializes builder.
10
+ # Initializes builder
11
11
  def initialize(column, query)
12
12
  @column = column
13
13
  @query = query
14
14
  end
15
15
 
16
- # Builds search condition for specific db type.
16
+ # Builds search condition for specific db type
17
17
  def build
18
18
  sanitize "(#{prepared_column} #{like} ?)", "%#{query}%"
19
19
  end
20
20
 
21
21
  private
22
22
 
23
- # Sanitizes sql expression with params.
23
+ # Sanitizes sql expression with params
24
24
  def sanitize(sql, *params)
25
25
  ActiveRecord::Base.send(:sanitize_sql_array, [sql, *params])
26
26
  end
27
27
 
28
- # Returns column prepared for using in SQL statement.
28
+ # Returns column prepared for using in SQL statement
29
29
  def prepared_column
30
30
  cast quote @column
31
31
  end
32
32
 
33
- # Cast column to string.
33
+ # Cast column to string
34
34
  def cast(column)
35
35
  "CAST (#{column} AS #{string_type})"
36
36
  end
37
37
 
38
- # Quotes column name.
38
+ # Quotes column name
39
39
  def quote(column)
40
40
  column.split('.').map do |component|
41
41
  ActiveRecord::Base.connection.quote_column_name component
42
42
  end.join('.')
43
43
  end
44
44
 
45
- # Returns database specific like operator.
45
+ # Returns database specific like operator
46
46
  def like
47
47
  case db_adapter
48
48
  when :postgresql then 'ILIKE'
@@ -51,7 +51,7 @@ module Tablets
51
51
  end
52
52
  end
53
53
 
54
- # Returns database specific string type.
54
+ # Returns database specific string type
55
55
  def string_type
56
56
  case db_adapter
57
57
  when :postgresql then 'VARCHAR'
@@ -60,7 +60,7 @@ module Tablets
60
60
  end
61
61
  end
62
62
 
63
- # Retrieves rails database adapter.
63
+ # Retrieves rails database adapter
64
64
  def db_adapter
65
65
  @db_adapter ||=
66
66
  ActiveRecord::Base.configurations[Rails.env]['adapter'].to_sym
@@ -1,9 +1,9 @@
1
1
  module Tablets
2
- # Tablets gem version.
2
+ # Tablets gem version
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 3
6
- TINY = 9
6
+ TINY = 10
7
7
  PRE = nil
8
8
 
9
9
  class << self
@@ -1,9 +1,9 @@
1
1
  require 'tablets/renderer'
2
2
 
3
3
  module Tablets
4
- # View helpers included to Rails.
4
+ # View helpers included to Rails
5
5
  module ViewHelpers
6
- # Finds tablet by name and renders is with params in current view context.
6
+ # Finds tablet by name and renders is with params in current view context
7
7
  #
8
8
  # <%= render_tablet :posts, user_id: @user.id %>
9
9
  #
data/lib/tablets.rb CHANGED
@@ -2,7 +2,7 @@ require 'tablets/global/loader'
2
2
  require 'tablets/global/store'
3
3
  require 'tablets/global/configurator'
4
4
 
5
- # Top level tablets module. Extended with global tablets methods.
5
+ # Top level tablets module extended with global tablets methods
6
6
  module Tablets
7
7
  autoload :Data, 'tablets/data'
8
8
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tablets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yevhen Shemet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-03 00:00:00.000000000 Z
11
+ date: 2015-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -164,22 +164,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  version: '0'
165
165
  requirements: []
166
166
  rubyforge_project:
167
- rubygems_version: 2.4.8
167
+ rubygems_version: 2.4.6
168
168
  signing_key:
169
169
  specification_version: 4
170
170
  summary: Wrapper around jquery-datatables.
171
171
  test_files:
172
- - spec/spec_helper.rb
173
172
  - spec/lib/tablets/data/processing/base_spec.rb
174
- - spec/lib/tablets/data/processing/paginate_spec.rb
175
- - spec/lib/tablets/data/processing/order_spec.rb
176
173
  - spec/lib/tablets/data/processing/filter_spec.rb
174
+ - spec/lib/tablets/data/processing/order_spec.rb
175
+ - spec/lib/tablets/data/processing/paginate_spec.rb
177
176
  - spec/lib/tablets/data/query_spec.rb
178
- - spec/lib/tablets/global/store_spec.rb
179
177
  - spec/lib/tablets/global/configurator_spec.rb
180
178
  - spec/lib/tablets/global/loader_spec.rb
181
- - spec/lib/tablets/view_helpers_spec.rb
182
- - spec/lib/tablets/utils/search_condition_builder_spec.rb
183
- - spec/lib/tablets/utils/config_spec.rb
184
- - spec/lib/tablets/tablet_spec.rb
179
+ - spec/lib/tablets/global/store_spec.rb
185
180
  - spec/lib/tablets/renderer_spec.rb
181
+ - spec/lib/tablets/tablet_spec.rb
182
+ - spec/lib/tablets/utils/config_spec.rb
183
+ - spec/lib/tablets/utils/search_condition_builder_spec.rb
184
+ - spec/lib/tablets/view_helpers_spec.rb
185
+ - spec/spec_helper.rb