activerecord-hideable 1.0.2 → 1.0.3

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: 6aa50948ee6a934da373be7d4919248ca2a2f568
4
- data.tar.gz: a17164ee339fc197f31acf1d62958cb651e5f23a
3
+ metadata.gz: 473116b3e36e5ae79accdc9a613e79a9f12de258
4
+ data.tar.gz: 546dc7ed53c6c4d4fe7b48658f1354cff74415f0
5
5
  SHA512:
6
- metadata.gz: 6ee790c277db812c7a4ee9ed16bff317ea597919a51243e4777f939be542d1a651fa95c902264212af6e56fd1bc69495f1601ebc546aa775b3d213fb97a665e8
7
- data.tar.gz: 9e7bd8f87104bec0f15e7c2290f0c0d74dabf863db7ea87de1664c19654bdab99f9a256743840f60ae1cf368251f3a2aaceb4fd7aef63cd327e49a74eb6b00bd
6
+ metadata.gz: 30c38fb69bee9028e7b54492ff4e2223ca52f972b4587dacb8d7e21e9134ba63fe1e68772daedc84634de809fbe6c92ebd1827608bdb3805a7a4bf2f2ffad00c
7
+ data.tar.gz: cd75369acccab25b8964b903cdec7d120efe3981e5c63b300d9ed77d1853230c9a4fcfea48c5847e627453c8d29bf8d1fbac0a901bb7c3e52456f9a3e5edb729
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'activerecord-hideable'
6
- s.version = '1.0.2'
6
+ s.version = '1.0.3'
7
7
  s.authors = ['Yaroslav Konoplov']
8
8
  s.email = ['eahome00@gmail.com']
9
9
  s.summary = 'Toggles for ActiveRecord models'
@@ -16,7 +16,6 @@ Gem::Specification.new do |s|
16
16
  s.test_files = `git ls-files -z -- {test,spec,features}/*`.split("\x0")
17
17
  s.require_paths = ['lib']
18
18
 
19
- s.add_dependency 'activesupport', '>= 3.0', '< 6.0'
20
- s.add_dependency 'activerecord', '>= 3.0', '< 6.0'
21
- s.add_dependency 'activerecord-traits', '~> 1.0'
19
+ s.add_dependency 'activesupport', '>= 3.0', '< 6.0'
20
+ s.add_dependency 'activerecord', '>= 3.0', '< 6.0'
22
21
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  require 'active_support/concern'
5
5
  require 'active_record'
6
- require 'activerecord-traits'
7
6
 
8
7
  require 'activerecord-hideable/macro'
9
8
  require 'activerecord-hideable/migration'
@@ -14,14 +13,6 @@ begin
14
13
  rescue LoadError
15
14
  end
16
15
 
17
- module Hideable
18
- class << self
19
- attr_accessor :default_column
20
- end
21
-
22
- self.default_column = :hidden
23
- end
24
-
25
16
  class ActiveRecord::Base
26
17
  include Hideable::Macro
27
18
  end
@@ -4,7 +4,7 @@
4
4
  module Essay
5
5
  class ModelFeatures
6
6
  def hideable?
7
- model_class.respond_to?(:hideable_options)
7
+ !!active_record.hideable?
8
8
  end
9
9
 
10
10
  serialize do
@@ -14,7 +14,7 @@ module Essay
14
14
 
15
15
  class AttributeFeatures
16
16
  def toggle?
17
- model_features.hideable? && model_class.hideable_options.fetch(:toggle) == attribute_name
17
+ active_record.features.hideable? && attribute.name == :hidden
18
18
  end
19
19
 
20
20
  serialize do
@@ -5,27 +5,22 @@ module Hideable
5
5
  module Macro
6
6
  extend ActiveSupport::Concern
7
7
 
8
+ included { class_attribute :hideable }
9
+
8
10
  module ClassMethods
9
11
  #
10
12
  # class Article < ActiveRecord::Base
11
- # acts_as_hideable toggle: :hidden
13
+ # acts_as_hideable
12
14
  # end
13
15
  #
14
- def acts_as_hideable(options = {})
15
- options.reverse_merge!(toggle: Hideable.default_column)
16
- toggle = options[:toggle]
17
-
18
- scope :hidden, -> { where(toggle => true) }
19
- scope :shown, -> { where(toggle => false) }
20
-
21
- define_method(:shown?) { !self[toggle] }
22
- define_method(:hidden?) { !!self[toggle] } unless toggle == :hidden
16
+ def acts_as_hideable
17
+ scope :hidden, -> { where(hidden: true) }
18
+ scope :shown, -> { where(hidden: false) }
23
19
 
24
- unless respond_to?(:hideable_options)
25
- class_attribute :hideable_options, instance_accessor: false, instance_predicate: false
26
- end
20
+ define_method(:shown?) { !hidden }
27
21
 
28
- self.hideable_options = options
22
+ self.hideable = true
23
+ nil
29
24
  end
30
25
  end
31
26
  end
@@ -3,9 +3,8 @@
3
3
 
4
4
  module Hideable
5
5
  module Migration
6
- def toggle(column_name = Hideable.default_column, **options)
7
- options.reverse_merge!(null: false, default: false, index: true)
8
- column(column_name, :boolean, options)
6
+ def toggle(options = {})
7
+ column :hidden, :boolean, options.reverse_merge!(null: false, default: false, index: true)
9
8
  end
10
9
  end
11
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-hideable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Konoplov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-21 00:00:00.000000000 Z
11
+ date: 2016-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -50,20 +50,6 @@ dependencies:
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '6.0'
53
- - !ruby/object:Gem::Dependency
54
- name: activerecord-traits
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '1.0'
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '1.0'
67
53
  description: Toggles for ActiveRecord models
68
54
  email:
69
55
  - eahome00@gmail.com