swiss_knife 0.2.2 → 0.2.3

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.
data/.rspec CHANGED
@@ -1 +1 @@
1
- --format=documentation
1
+ --color --format documentation --debug
data/Gemfile.lock CHANGED
@@ -1,19 +1,19 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swiss_knife (0.2.2)
4
+ swiss_knife (0.2.3)
5
5
  rails (>= 3.0.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
10
  abstract (1.0.0)
11
- actionmailer (3.0.6)
12
- actionpack (= 3.0.6)
13
- mail (~> 2.2.15)
14
- actionpack (3.0.6)
15
- activemodel (= 3.0.6)
16
- activesupport (= 3.0.6)
11
+ actionmailer (3.0.9)
12
+ actionpack (= 3.0.9)
13
+ mail (~> 2.2.19)
14
+ actionpack (3.0.9)
15
+ activemodel (= 3.0.9)
16
+ activesupport (= 3.0.9)
17
17
  builder (~> 2.1.2)
18
18
  erubis (~> 2.6.6)
19
19
  i18n (~> 0.5.0)
@@ -21,71 +21,87 @@ GEM
21
21
  rack-mount (~> 0.6.14)
22
22
  rack-test (~> 0.5.7)
23
23
  tzinfo (~> 0.3.23)
24
- activemodel (3.0.6)
25
- activesupport (= 3.0.6)
24
+ activemodel (3.0.9)
25
+ activesupport (= 3.0.9)
26
26
  builder (~> 2.1.2)
27
27
  i18n (~> 0.5.0)
28
- activerecord (3.0.6)
29
- activemodel (= 3.0.6)
30
- activesupport (= 3.0.6)
31
- arel (~> 2.0.2)
28
+ activerecord (3.0.9)
29
+ activemodel (= 3.0.9)
30
+ activesupport (= 3.0.9)
31
+ arel (~> 2.0.10)
32
32
  tzinfo (~> 0.3.23)
33
- activeresource (3.0.6)
34
- activemodel (= 3.0.6)
35
- activesupport (= 3.0.6)
36
- activesupport (3.0.6)
33
+ activeresource (3.0.9)
34
+ activemodel (= 3.0.9)
35
+ activesupport (= 3.0.9)
36
+ activesupport (3.0.9)
37
+ archive-tar-minitar (0.5.2)
37
38
  arel (2.0.10)
38
39
  builder (2.1.2)
40
+ columnize (0.3.4)
39
41
  diff-lcs (1.1.2)
40
42
  erubis (2.6.6)
41
43
  abstract (>= 1.0.0)
42
44
  fakeweb (1.3.0)
43
45
  i18n (0.5.0)
46
+ linecache19 (0.5.12)
47
+ ruby_core_source (>= 0.1.4)
44
48
  mail (2.2.19)
45
49
  activesupport (>= 2.3.6)
46
50
  i18n (>= 0.4.0)
47
51
  mime-types (~> 1.16)
48
52
  treetop (~> 1.4.8)
49
53
  mime-types (1.16)
50
- nokogiri (1.4.4)
54
+ nokogiri (1.5.0)
51
55
  polyglot (0.3.1)
52
- rack (1.2.2)
56
+ rack (1.2.3)
53
57
  rack-mount (0.6.14)
54
58
  rack (>= 1.0.0)
55
59
  rack-test (0.5.7)
56
60
  rack (>= 1.0)
57
- rails (3.0.6)
58
- actionmailer (= 3.0.6)
59
- actionpack (= 3.0.6)
60
- activerecord (= 3.0.6)
61
- activeresource (= 3.0.6)
62
- activesupport (= 3.0.6)
61
+ rails (3.0.9)
62
+ actionmailer (= 3.0.9)
63
+ actionpack (= 3.0.9)
64
+ activerecord (= 3.0.9)
65
+ activeresource (= 3.0.9)
66
+ activesupport (= 3.0.9)
63
67
  bundler (~> 1.0)
64
- railties (= 3.0.6)
65
- railties (3.0.6)
66
- actionpack (= 3.0.6)
67
- activesupport (= 3.0.6)
68
+ railties (= 3.0.9)
69
+ railties (3.0.9)
70
+ actionpack (= 3.0.9)
71
+ activesupport (= 3.0.9)
68
72
  rake (>= 0.8.7)
73
+ rdoc (~> 3.4)
69
74
  thor (~> 0.14.4)
70
- rake (0.8.7)
71
- rspec (2.5.0)
72
- rspec-core (~> 2.5.0)
73
- rspec-expectations (~> 2.5.0)
74
- rspec-mocks (~> 2.5.0)
75
- rspec-core (2.5.1)
76
- rspec-expectations (2.5.0)
75
+ rake (0.9.2)
76
+ rdoc (3.8)
77
+ rspec (2.6.0)
78
+ rspec-core (~> 2.6.0)
79
+ rspec-expectations (~> 2.6.0)
80
+ rspec-mocks (~> 2.6.0)
81
+ rspec-core (2.6.4)
82
+ rspec-expectations (2.6.0)
77
83
  diff-lcs (~> 1.1.2)
78
- rspec-mocks (2.5.0)
79
- rspec-rails (2.5.0)
84
+ rspec-mocks (2.6.0)
85
+ rspec-rails (2.6.1)
80
86
  actionpack (~> 3.0)
81
87
  activesupport (~> 3.0)
82
88
  railties (~> 3.0)
83
- rspec (~> 2.5.0)
89
+ rspec (~> 2.6.0)
90
+ ruby-debug-base19 (0.11.25)
91
+ columnize (>= 0.3.1)
92
+ linecache19 (>= 0.5.11)
93
+ ruby_core_source (>= 0.1.4)
94
+ ruby-debug19 (0.11.6)
95
+ columnize (>= 0.3.1)
96
+ linecache19 (>= 0.5.11)
97
+ ruby-debug-base19 (>= 0.11.19)
98
+ ruby_core_source (0.1.5)
99
+ archive-tar-minitar (>= 0.5.2)
84
100
  sqlite3 (1.3.3)
85
101
  thor (0.14.6)
86
102
  treetop (1.4.9)
87
103
  polyglot (>= 0.3.1)
88
- tzinfo (0.3.26)
104
+ tzinfo (0.3.29)
89
105
 
90
106
  PLATFORMS
91
107
  ruby
@@ -93,6 +109,7 @@ PLATFORMS
93
109
  DEPENDENCIES
94
110
  fakeweb
95
111
  nokogiri
96
- rspec-rails (~> 2.5.0)
112
+ rspec-rails (~> 2.6)
113
+ ruby-debug19
97
114
  sqlite3
98
115
  swiss_knife!
@@ -1,44 +1,42 @@
1
- module SwissKnife
2
- module RSpec
3
- module Matchers
4
- def allow(value, *values)
5
- Allow.new(value, *values)
6
- end
7
-
8
- class Allow
9
- attr_reader :values, :attribute, :record
10
-
11
- def initialize(*values)
12
- @values = values
13
- end
14
-
15
- def matches?(record)
16
- @record = record
17
-
18
- values.collect {|value|
19
- record.send("#{attribute}=", value)
20
- record.valid?
21
- record.errors[attribute].empty?
22
- }.all?
23
- end
24
-
25
- def as(attribute)
26
- @attribute = attribute
27
- self
28
- end
29
-
30
- def description
31
- "allow #{values.inspect} values for #{attribute.inspect} attribute"
32
- end
33
-
34
- def failure_message
35
- "expected #{record.inspect} to allow each of #{values.inspect} as #{attribute.inspect} value"
36
- end
37
-
38
- def negative_failure_message
39
- "expected #{record.inspect} to reject each of #{values.inspect} as #{attribute.inspect} value"
40
- end
41
- end
1
+ RSpec::Matchers.define :allow do |*values|
2
+ @failed = []
3
+ @values = values
4
+
5
+ match_for_should do |record|
6
+ @record = record
7
+ matches_against?(false)
8
+ end
9
+
10
+ match_for_should_not do |record|
11
+ @record = record
12
+ matches_against?(true)
13
+ end
14
+
15
+ def matches_against?(compare)
16
+ raise "The allow matcher requires an attribute; use subject.should allow(*values).as(attribute)" unless @attribute
17
+
18
+ @values.each do |value|
19
+ @record.__send__("#{@attribute}=", value)
20
+ @record.valid?
21
+ @failed << value if @record.errors[@attribute].empty? == compare
42
22
  end
23
+
24
+ @failed.empty?
25
+ end
26
+
27
+ failure_message_for_should do |actual|
28
+ "expected #{@record.inspect} to allow each of #{@values.inspect} as #{@attribute.inspect} value (didn't accept #{@failed.inspect})"
29
+ end
30
+
31
+ failure_message_for_should_not do |actual|
32
+ "expected #{@record.inspect} to reject each of #{@values.inspect} as #{@attribute.inspect} value (accepted #{@failed.inspect})"
33
+ end
34
+
35
+ chain :as do |attribute|
36
+ @attribute = attribute
37
+ end
38
+
39
+ description do
40
+ "allow #{values.inspect} as #{@attribute}"
43
41
  end
44
42
  end
@@ -2,4 +2,6 @@ require "swiss_knife/rspec/have_tag"
2
2
  require "swiss_knife/rspec/have_text"
3
3
  require "swiss_knife/rspec/allow"
4
4
 
5
- RSpec.configure {|config| config.include(SwissKnife::RSpec::Matchers)} if defined?(RSpec)
5
+ RSpec.configure do |config|
6
+ config.include(SwissKnife::RSpec::Matchers)
7
+ end
@@ -2,7 +2,7 @@ module SwissKnife
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- PATCH = 2
5
+ PATCH = 3
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
@@ -1,6 +1,6 @@
1
1
  ENV["BUNDLE_GEMFILE"] = File.expand_path(File.dirname(__FILE__) + "/../../../Gemfile")
2
2
  require "bundler"
3
- Bundler.setup
3
+ Bundler.setup(:default, :development, :test)
4
4
 
5
5
  require "active_record/railtie"
6
6
  require "action_controller/railtie"
@@ -8,7 +8,7 @@ require "action_controller/railtie"
8
8
  # require "active_resource/railtie"
9
9
  # require "rails/test_unit/railtie"
10
10
 
11
- Bundler.require(:default)
11
+ Bundler.require(:default, :development, :test)
12
12
 
13
13
  module SwissKnife
14
14
  class Application < Rails::Application
@@ -1,13 +1,13 @@
1
1
  require "spec_helper"
2
2
 
3
- describe SwissKnife::RSpec::Matchers::Allow do
3
+ describe "allow matcher" do
4
4
  it "allows blank values" do
5
5
  klass = Class.new(ActiveRecord::Base) do
6
6
  table_name "users"
7
7
  end
8
8
 
9
9
  record = klass.new
10
- record.should allow(nil, "").as(:name)
10
+ record.should allow_values(nil, "").as(:name)
11
11
  end
12
12
 
13
13
  it "requires name to be set" do
@@ -17,7 +17,7 @@ describe SwissKnife::RSpec::Matchers::Allow do
17
17
  end
18
18
 
19
19
  record = klass.new
20
- record.should_not allow(nil, "").as(:name)
20
+ record.should_not allow_values(nil, "").as(:name)
21
21
  end
22
22
 
23
23
  it "allows values" do
@@ -26,6 +26,6 @@ describe SwissKnife::RSpec::Matchers::Allow do
26
26
  end
27
27
 
28
28
  record = klass.new
29
- record.should allow("John Doe", "Jane Doe").as(:name)
29
+ record.should allow_values("John Doe", "Jane Doe").as(:name)
30
30
  end
31
31
  end
data/swiss_knife.gemspec CHANGED
@@ -18,8 +18,9 @@ Gem::Specification.new do |s|
18
18
  s.require_paths = ["lib"]
19
19
 
20
20
  s.add_dependency "rails", ">= 3.0.0"
21
- s.add_development_dependency "rspec-rails", "~> 2.5.0"
21
+ s.add_development_dependency "rspec-rails", "~> 2.6"
22
22
  s.add_development_dependency "nokogiri"
23
23
  s.add_development_dependency "fakeweb"
24
24
  s.add_development_dependency "sqlite3"
25
+ s.add_development_dependency "ruby-debug19"
25
26
  end
metadata CHANGED
@@ -1,82 +1,89 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: swiss_knife
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
4
5
  prerelease:
5
- version: 0.2.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Nando Vieira
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-30 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-08-05 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rails
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2156871560 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 3.0.0
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: rspec-rails
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2156871560
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec-rails
27
+ requirement: &2156871060 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
29
+ requirements:
32
30
  - - ~>
33
- - !ruby/object:Gem::Version
34
- version: 2.5.0
31
+ - !ruby/object:Gem::Version
32
+ version: '2.6'
35
33
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: nokogiri
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2156871060
36
+ - !ruby/object:Gem::Dependency
37
+ name: nokogiri
38
+ requirement: &2156870680 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
46
44
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: fakeweb
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2156870680
47
+ - !ruby/object:Gem::Dependency
48
+ name: fakeweb
49
+ requirement: &2156870220 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
57
55
  type: :development
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
56
+ prerelease: false
57
+ version_requirements: *2156870220
58
+ - !ruby/object:Gem::Dependency
60
59
  name: sqlite3
60
+ requirement: &2156869800 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
61
67
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
68
+ version_requirements: *2156869800
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-debug19
71
+ requirement: &2156869380 !ruby/object:Gem::Requirement
63
72
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
68
77
  type: :development
69
- version_requirements: *id005
78
+ prerelease: false
79
+ version_requirements: *2156869380
70
80
  description: Several helpers for Rails 3
71
- email:
81
+ email:
72
82
  - fnando.vieira@gmail.com
73
83
  executables: []
74
-
75
84
  extensions: []
76
-
77
85
  extra_rdoc_files: []
78
-
79
- files:
86
+ files:
80
87
  - .gitignore
81
88
  - .rspec
82
89
  - Gemfile
@@ -139,32 +146,35 @@ files:
139
146
  - swiss_knife.gemspec
140
147
  homepage: http://rubygems.org/gems/swiss_knife
141
148
  licenses: []
142
-
143
149
  post_install_message:
144
150
  rdoc_options: []
145
-
146
- require_paths:
151
+ require_paths:
147
152
  - lib
148
- required_ruby_version: !ruby/object:Gem::Requirement
153
+ required_ruby_version: !ruby/object:Gem::Requirement
149
154
  none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: "0"
154
- required_rubygems_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ segments:
160
+ - 0
161
+ hash: -78419488599710419
162
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
163
  none: false
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: "0"
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ segments:
169
+ - 0
170
+ hash: -78419488599710419
160
171
  requirements: []
161
-
162
172
  rubyforge_project:
163
- rubygems_version: 1.8.3
173
+ rubygems_version: 1.8.5
164
174
  signing_key:
165
175
  specification_version: 3
166
176
  summary: Several helpers for Rails 3
167
- test_files:
177
+ test_files:
168
178
  - spec/controllers/application_controller_spec.rb
169
179
  - spec/helpers/helpers_spec.rb
170
180
  - spec/resources/assets.yml