mage 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ecf49becdb6d43257e9b308f7ee53114662c39f1
4
- data.tar.gz: 0ed26162e3e5e53a9d604cf3bfd9919873744178
3
+ metadata.gz: 5b630df5048a60f851ecfb1044ae31f9accdde62
4
+ data.tar.gz: 9b723b089bb49fb95a330ed663e8b5e59acdc5b3
5
5
  SHA512:
6
- metadata.gz: 74c083341de4cf56d0c6249e65cf8e3a87dcc5ebec566c84a0b3e80f1e81c2da0d42c03356aeb5a1d714b7d493d68bbb3f2b9421cd2f06499e1949ee25665f38
7
- data.tar.gz: 8b85ab4347022b0ad8754d58ca9421cb265244cc60d764de51271510d5b17ff5ab670c1c288db514cd9f20b0b4e36f7b3035f6eeeb03cff15ac697cbd31faaf8
6
+ metadata.gz: 32d5736f10a84ef8880ff0229e0b2c7aa7825995179124ec6b1ec9c137d43d167b2103d93a8d9d6661e7479954db78f64b7b80fbb35bd4ba293e4bba92135ae7
7
+ data.tar.gz: daa9c573864ac9f12e329164f6839f7e1a0b70e1fe7c4db542550a03f46f69f177fc3fee0bee83a021e9e7eabdb79f42d0732159f906ec7773fbc53648f3105a
data/README.md CHANGED
@@ -99,6 +99,14 @@ render_mage method like this:
99
99
  render_mage(@product, show_step: true)
100
100
  ```
101
101
 
102
+ To query only finished objects use 'mage_done' scope:
103
+
104
+ ```ruby
105
+ def index
106
+ @products = product.mage_done
107
+ end
108
+ ```
109
+
102
110
  ## Contributing
103
111
 
104
112
  Bug reports and pull requests are welcome on GitHub at https://github.com/effect305/mage.
@@ -108,6 +116,7 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/effect
108
116
  I think there's a lot of stuff to do. Here's just examples:
109
117
  * ~~Keep flash messages if showing step~~
110
118
  * ~~Generator~~
119
+ * Back button
111
120
  * Tests
112
121
 
113
122
  ## License
@@ -13,10 +13,8 @@ class ActionController::Base
13
13
  if options[:show_step] && params[:step].blank?
14
14
  mage_redirect(object, options[:show_step])
15
15
  else
16
- if flash["#{object.model_name.name.downcase}_errors"]
17
- flash["#{object.model_name.name.downcase}_errors"].each do |attribute, errors|
18
- errors.each { |error| object.errors[attribute] << error }
19
- end
16
+ (flash["#{object.model_name.name.downcase}_errors"] || {}).each do |attribute, errors|
17
+ errors.each { |error| object.errors[attribute] << error }
20
18
  end
21
19
  render "#{params[:controller]}/steps/#{object.mage_step}"
22
20
  end
@@ -1,10 +1,12 @@
1
1
  class ActiveRecord::Base
2
2
  def self.has_mage_steps(*steps)
3
3
  @@mage_steps = steps
4
+ has_one :mage_step, class_name: 'Mage::MageStep', as: :object
5
+ scope :mage_done, -> { joins(:mage_step).where(mage_steps: { step: :done }) }
4
6
  after_save :mage_after_save
5
7
  after_destroy { Mage::MageStep.where(object_id: self.id, object_type: self.model_name.name).try(:take).try(:destroy) }
6
8
 
7
- define_method :mage_steps do
9
+ def self.mage_steps
8
10
  @@mage_steps
9
11
  end
10
12
 
@@ -1,3 +1,3 @@
1
1
  module Mage
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viacheslav Mefodin