promocode_generator 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,9 +6,9 @@ module PromocodeGenerator
6
6
  before_create do
7
7
  # Make sure not to generate the same code twice!
8
8
  begin
9
- self.code = PromocodeGenerator.generate
10
- end while options[:reject_if].call(code)
11
- end
9
+ self.send("#{attribute}=", PromocodeGenerator.generate)
10
+ end while options[:reject_if].call(self.send(attribute))
11
+ end
12
12
  end
13
13
  end
14
14
  end
@@ -1,3 +1,3 @@
1
1
  module PromocodeGenerator
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -3,14 +3,14 @@ require 'spec_helper'
3
3
  # Dummy reject condition that can be stubbed in the tests below
4
4
  module RejectCondition
5
5
  def self.check(code)
6
- false
6
+ false
7
7
  end
8
8
  end
9
9
 
10
10
  class Campaign < SuperModel::Base
11
11
  include ActiveModel::Validations::Callbacks
12
12
  extend PromocodeGenerator::ModelAdditions
13
- promocode_attribute :code, :reject_if => Proc.new { |code| RejectCondition.check(code) }
13
+ promocode_attribute :my_code, :reject_if => Proc.new { |code| RejectCondition.check(code) }
14
14
  end
15
15
 
16
16
  describe PromocodeGenerator::ModelAdditions do
@@ -24,17 +24,17 @@ describe PromocodeGenerator::ModelAdditions do
24
24
 
25
25
  it "assigns the code to the model" do
26
26
  campaign.save!
27
- expect(campaign.code).not_to be_nil
27
+ expect(campaign.my_code).not_to be_nil
28
28
  end
29
29
  end
30
30
 
31
31
  context "when an existing model is saved" do
32
32
  it "does not touch the code" do
33
33
  campaign.save!
34
- code = campaign.code
35
-
34
+ code = campaign.my_code
35
+
36
36
  campaign.name = "blubb"
37
- expect { campaign.save! }.not_to change { campaign.code }
37
+ expect { campaign.save! }.not_to change { campaign.my_code }
38
38
  end
39
39
  end
40
40
 
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promocode_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Pascal Ehlert
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-12-28 00:00:00.000000000 Z
12
+ date: 2014-07-03 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: supermodel
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -90,26 +99,27 @@ files:
90
99
  homepage: ''
91
100
  licenses:
92
101
  - MIT
93
- metadata: {}
94
102
  post_install_message:
95
103
  rdoc_options: []
96
104
  require_paths:
97
105
  - lib
98
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
99
108
  requirements:
100
109
  - - ! '>='
101
110
  - !ruby/object:Gem::Version
102
111
  version: '0'
103
112
  required_rubygems_version: !ruby/object:Gem::Requirement
113
+ none: false
104
114
  requirements:
105
115
  - - ! '>='
106
116
  - !ruby/object:Gem::Version
107
117
  version: '0'
108
118
  requirements: []
109
119
  rubyforge_project:
110
- rubygems_version: 2.0.3
120
+ rubygems_version: 1.8.24
111
121
  signing_key:
112
- specification_version: 4
122
+ specification_version: 3
113
123
  summary: Generates a safe, unique and easy to quote promotional code
114
124
  test_files:
115
125
  - spec/promocode_generator/model_additions_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZTk5YjgyNGEyMWZhNWI2NTU1NzhiNGI0ZmMyNjdiMzE3YTJhZGZkOA==
5
- data.tar.gz: !binary |-
6
- YjMyNGYyNGQxMTIzZDlhMTJlNTZlZTZkMDMxZmU1MTJmZWQxZDNjOQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NmRmYmEyMjkyYjQ4OWE4YmQyOGIwMjQxY2JjZWJmMDc4NjU5MDU3NDc1NDI4
10
- YTFiNmNlMWM2MjZhNmIwNDY4M2FhNTc5YTJmMjYyNjJhOWJmNjZjNzVhNmRl
11
- YzhmNjQ3NzJhMTNkNTkyZDUzM2RmOWZkNGM1MmZlNzIyMDA5ZmY=
12
- data.tar.gz: !binary |-
13
- NDMwMzA2OWE0NjYxMDUxZjI1OGU2NzcxZmI2OGVkYTdjNjRkZGZjN2MwNzQ0
14
- YWY5Y2ZmYzUxNDdmMjVhMGVkNTFlODJhYTM1MTIwOGVhNTQxNGI1Yjk2ZDI5
15
- NjkxMzY3MTcxMzBjOTg3ODNkMGYxODYzZjNiZmZjNmMyMmEyMDE=