rspec-roar_matchers 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c1308b1d5be9b0336bcba6fb7fc18a67196de241
4
+ data.tar.gz: 2b41004211a62c5b54c40adb0467ff9a071d2e53
5
+ SHA512:
6
+ metadata.gz: cb6645b77acc4f905b73123d4cedba032bdf6f5edab80a6b822b2c877c5e002b85bc2791b4d596c3f4dc439b2e83449afb45cf0def12e240d7732441f6dee48b
7
+ data.tar.gz: 5ee105656fac30a99d258a3d8ae4be2a8095dc8452d94d8449a535d861b904229e5b8a8008dd4311b64027f84d523e362a8432707ffb263b5204592b5a8e1a85
data/README.md CHANGED
@@ -40,7 +40,7 @@ end
40
40
  ### have_properties
41
41
 
42
42
  ```ruby
43
- context "link is present in both spec and representer (happy path)" do
43
+ context "property is present in both spec and representer (happy path)" do
44
44
  it "passes" do
45
45
  expected_properties = %w{name}
46
46
  expect(country.extend(CountryRepresenter)).to have_properties(expected_properties)
@@ -1,10 +1,13 @@
1
- RSpec::Matchers.define :have_links do |expected_links|
1
+ RSpec::Matchers.define :have_links do |*expected|
2
+ expected_links = expected.shift
3
+ options = RoarMatchers.extract_options!(expected)
4
+
2
5
  match do |representer|
3
6
  first = expected_links.all? do |expected_link|
4
- RoarMatchers.get_actual_link_names(representer).include?(expected_link)
7
+ RoarMatchers.get_actual_link_names(representer, options).include?(expected_link)
5
8
  end
6
9
 
7
- second = RoarMatchers.get_actual_link_names(representer).all? do |expected_link|
10
+ second = RoarMatchers.get_actual_link_names(representer, options).all? do |expected_link|
8
11
  expected_links.include?(expected_link)
9
12
  end
10
13
 
@@ -12,7 +15,9 @@ RSpec::Matchers.define :have_links do |expected_links|
12
15
  end
13
16
 
14
17
  failure_message_for_should do |representer|
15
- actual_link_names = RoarMatchers.get_actual_link_names(representer)
18
+ opts = opts || {}
19
+
20
+ actual_link_names = RoarMatchers.get_actual_link_names(representer, opts)
16
21
  representation_or_specification, missing = RoarMatchers.missing(actual_link_names,expected_links)
17
22
 
18
23
  (<<-EOS)
@@ -13,11 +13,15 @@ module RoarMatchers
13
13
  end.map(&:name)
14
14
  end
15
15
 
16
- def self.get_actual_link_names(representer)
17
- representer.to_json;
16
+ def self.get_actual_link_names(representer, options={})
17
+ representer.to_json(options);
18
18
  representer.links.keys
19
19
  end
20
20
 
21
+ def self.extract_options!(args)
22
+ args.last.is_a?(::Hash) ? args.pop : {}
23
+ end
24
+
21
25
  def self.get_actual_collection_names(representer)
22
26
  representer.instance_variable_get("@representable_attrs").select do |attr|
23
27
  attr.options[:collection] && attr.name != "links_array"
@@ -1,5 +1,5 @@
1
1
  module Rspec
2
2
  module RoarMatchers
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,96 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-roar_matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Hashrocket Workstation
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-23 00:00:00.000000000 Z
11
+ date: 2013-10-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
- prerelease: false
17
15
  requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.3'
22
- none: false
23
20
  type: :development
21
+ prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
23
  requirements:
26
24
  - - ~>
27
25
  - !ruby/object:Gem::Version
28
26
  version: '1.3'
29
- none: false
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
- prerelease: false
33
29
  requirement: !ruby/object:Gem::Requirement
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
- none: false
39
34
  type: :development
35
+ prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
37
  requirements:
42
- - - ! '>='
38
+ - - '>='
43
39
  - !ruby/object:Gem::Version
44
40
  version: '0'
45
- none: false
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: roar
48
- prerelease: false
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
- none: false
55
48
  type: :development
49
+ prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ! '>='
52
+ - - '>='
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
- none: false
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
- prerelease: false
65
57
  requirement: !ruby/object:Gem::Requirement
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
- none: false
71
62
  type: :development
63
+ prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
65
  requirements:
74
- - - ! '>='
66
+ - - '>='
75
67
  - !ruby/object:Gem::Version
76
68
  version: '0'
77
- none: false
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: pry
80
- prerelease: false
81
71
  requirement: !ruby/object:Gem::Requirement
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
- none: false
87
76
  type: :development
77
+ prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
79
  requirements:
90
- - - ! '>='
80
+ - - '>='
91
81
  - !ruby/object:Gem::Version
92
82
  version: '0'
93
- none: false
94
83
  description: Rspec::RoarMatchers is a collection of matchers designed to enforce a
95
84
  contract between your spec and representer.
96
85
  email:
@@ -121,27 +110,26 @@ files:
121
110
  homepage: https://github.com/rondale-sc/rspec-roar_matchers
122
111
  licenses:
123
112
  - MIT
113
+ metadata: {}
124
114
  post_install_message:
125
115
  rdoc_options: []
126
116
  require_paths:
127
117
  - lib
128
118
  required_ruby_version: !ruby/object:Gem::Requirement
129
119
  requirements:
130
- - - ! '>='
120
+ - - '>='
131
121
  - !ruby/object:Gem::Version
132
122
  version: '0'
133
- none: false
134
123
  required_rubygems_version: !ruby/object:Gem::Requirement
135
124
  requirements:
136
- - - ! '>='
125
+ - - '>='
137
126
  - !ruby/object:Gem::Version
138
127
  version: '0'
139
- none: false
140
128
  requirements: []
141
129
  rubyforge_project:
142
- rubygems_version: 1.8.24
130
+ rubygems_version: 2.0.7
143
131
  signing_key:
144
- specification_version: 3
132
+ specification_version: 4
145
133
  summary: Rspec::RoarMatchers is a collection of matchers designed to enforce a contract
146
134
  between your spec and representer. The driving concern, while recently developing
147
135
  for an app that was making extensive use of Roar, was the fact that we were able
@@ -153,4 +141,3 @@ test_files:
153
141
  - spec/fixtures/state_representer.rb
154
142
  - spec/roar_matchers/matchers_spec.rb
155
143
  - spec/spec_helper.rb
156
- has_rdoc: