mage 0.2.1 → 0.2.2

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: 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