acts_as_living 0.1.7 → 0.1.12

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
  SHA256:
3
- metadata.gz: 9822b425e62e24627e57fae895b68fff7c1b0472257c20a06207014cb95b38d1
4
- data.tar.gz: f6baf7c93a6ad1ac060aefab50f232d7fe6057df4f4cde1c12dc4cc98294c378
3
+ metadata.gz: 766149e13a944e10eae12248a3ae63eebf60bba40a479808402eb99ef209170f
4
+ data.tar.gz: fc87211523a5e977c8f2c2974984cbbaa5c5980a99960da54f5e253cefc9af14
5
5
  SHA512:
6
- metadata.gz: 1aa1299dc9875da2f207389013a46e6924f96dd3366a2415b2100e31018570b52278571c4826192dfd23fd94912849f5af6f6497d2553f9328adf1376faa7ffe
7
- data.tar.gz: 7b441512986cd8436cdf6eeb8d78767b3d8297fb37b2f67b45b96222da50ac4e4da580bcd02d292647676e842eb2486416eed5fda7dbf8aed4684e38e72e6a3f
6
+ metadata.gz: 814e49cd0c1f5fb42d9039cc7da128bcc986c7e1594b1a89bdb59211b1c6e038cb313b6bf8773c7620892883cb9faf63c26740040cc7342decedcc3fc11a408e
7
+ data.tar.gz: 0b33966724c9b203df3823dfce69065b82b344601e1193893d1c27364c0d7f73bb6a09c6fdc6abef4ee4c79db9862d7a881b94f3ba4607d2df86d580af08ff2b
@@ -13,3 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
  ## [0.1.7] - 2020-07-13
14
14
  ### Fixed
15
15
  - Stage Scopes
16
+
17
+
18
+ ## [0.1.10] - 2020-07-13
19
+ ### Fixed
20
+ - Bugs in phase scopes
@@ -16,6 +16,7 @@ module ActsAsLiving::ActsAsLiving
16
16
  end
17
17
 
18
18
  def run_definers
19
+ # needs to be imported first
19
20
  ActsAsLiving::MethodsDefiner.call(self)
20
21
  ActsAsLiving::EnumDefiner.call(self)
21
22
  ActsAsLiving::ScopesDefiner.call(self)
@@ -5,12 +5,12 @@ module ActsAsLiving::EnumDefiner
5
5
  klass.class_eval do
6
6
  extend ClassMethods
7
7
 
8
- enum @column => enum_options
8
+ enum @column => stages_enum
9
9
  end
10
10
  end
11
11
 
12
12
  module ClassMethods
13
- def enum_options
13
+ def stages_enum
14
14
  stages = @stage_keys.map.with_index(&method(:to_enum_map)).to_h
15
15
  stages.merge(@death => @spread * -1)
16
16
  end
@@ -105,7 +105,7 @@ module ActsAsLiving::MethodsDefiner
105
105
  end
106
106
 
107
107
  def stage_keys
108
- stages.keys
108
+ @stage_keys
109
109
  end
110
110
 
111
111
  def stages_after(stage)
@@ -144,7 +144,7 @@ module ActsAsLiving::MethodsDefiner
144
144
  end
145
145
 
146
146
  def newborn_stage
147
- stages.key(0)
147
+ stage_keys.first
148
148
  end
149
149
 
150
150
  def death
@@ -156,11 +156,11 @@ module ActsAsLiving::MethodsDefiner
156
156
  end
157
157
 
158
158
  def phases_with_ranges
159
- @phases.map(&method(:to_phase_with_range)).to_h
159
+ phases.map(&method(:to_phase_with_range)).to_h
160
160
  end
161
161
 
162
162
  def to_phase_with_range(phase, delimiter)
163
- [phase, (stages[delimiter.first]..stages[delimiter.last])]
163
+ [phase, (stages_enum[delimiter.first]..stages_enum[delimiter.last])]
164
164
  end
165
165
 
166
166
  def phases
@@ -1,15 +1,14 @@
1
1
  module ActsAsLiving::ScopesDefiner
2
2
  def self.call(klass)
3
3
  klass.class_eval do
4
- stages.each do |stage, _num|
5
- scope "past_#{stage}", -> { where('stage >= ?', stages[stage]) }
6
- scope "pre_#{stage}", -> { where('stage < ?', stages[stage]) }
7
- scope "not_#{stage}", -> { where.not(stage: stage) }
4
+ stage_keys.each do |stage|
5
+ scope "past_#{stage}", -> { where('stage >= ?', stages_enum[stage]) }
6
+ scope "pre_#{stage}", -> { where('stage < ?', stages_enum[stage]) }
8
7
  end
9
8
 
10
9
  scope :cancelled, -> { where('stage < 0') }
11
10
 
12
- @phases.each do |phase, delimiters|
11
+ phases.each do |phase, delimiters|
13
12
  scope phase, lambda {
14
13
  where(stage: delimiters)
15
14
  }
@@ -1,3 +1,3 @@
1
1
  module ActsAsLiving
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.12"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_living
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Andrade