warp 1.3.0 → 1.3.1

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDliNWY1MmRlZmM1NjRlMDJhMzYwNWYxMTQ5NjAzNjY3MTM1NzBhYg==
5
- data.tar.gz: !binary |-
6
- YTMzNzFhMGE3YTcwYzRhNDcwY2Q1ZThmODE1NzFlOGQ2YjNjMDVmYQ==
2
+ SHA1:
3
+ metadata.gz: f6cbf9ef52e08774d01f175a2332feeb01860963
4
+ data.tar.gz: 30b1477e764a15f0bf98fff122558e7adbd9a4c6
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZjgxODljNmI3MmY0MTZiYzViM2M5OWI3ZjY5NTkwM2JlYTY3YTY5MWVkZjg1
10
- M2Y5ZGRkN2M5N2I0Nzg5ZTAwNjJlZjg4YjAxNjAwY2ZiYTZjMDk2MWQ5ZmE0
11
- NDAwOTdiYjlkNDYyMWU4MjBlM2NhYzZiNDU3NmVhNTRlMmVmMjM=
12
- data.tar.gz: !binary |-
13
- ZDI5NGY0NGNmMWU2MmExMTE5MmUwZjYyZTFmYTUxMDkwYmFlMGM4NWI1OTMx
14
- OWIzZjkwMjNkMjgzMWFhZTI5NmFhZDUxNWJlMzQ3OTEzNDk1NTUzOTJjNDk1
15
- ZjFhN2RkOWVjNmE0ZWJlODY1MGQ4NmIzYjc1MGYxZWFhZDkyM2M=
6
+ metadata.gz: 451e896e044e7c5cd8f22f1f766c7f338eaf7f5826e27d2e65dbe7344eda07ec75a261ecdd1f89dc35048439b039e00e732c992545555f527a6e98f168433792
7
+ data.tar.gz: 44f2d8b79a1fc65ee0a8bde854ed658b7db548dd0e1e0396968a2ab27933ad5dd029f1785d807332f870678e0530d522079de5f09d3f9ce3d73fecd84c23c24a
@@ -23,6 +23,7 @@ module Warp
23
23
 
24
24
  instrument = Warp::Instrument.for(model, CREATE_METHOD)
25
25
 
26
+ instrument.reset
26
27
  instrument.run { actual.call }
27
28
 
28
29
  instrument.calls.size > 0
@@ -28,6 +28,10 @@ module Warp
28
28
  self.class.send(:register, self)
29
29
  end
30
30
 
31
+ def reset
32
+ self.calls = []
33
+ end
34
+
31
35
  def run
32
36
  enable
33
37
  yield
data/lib/warp/version.rb CHANGED
@@ -2,7 +2,7 @@ module Warp
2
2
  module VERSION
3
3
  MAJOR = 1
4
4
  MINOR = 3
5
- PATCH = 0
5
+ PATCH = 1
6
6
 
7
7
  BETA = nil
8
8
 
@@ -25,8 +25,13 @@ module ModelHelpers
25
25
  columns.any? {|c| c.name == method }
26
26
  end
27
27
 
28
- def self.column(name, sql_type = nil, default = nil, null = true)
29
- columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
28
+ def self.column(name, sql_type = "varchar(255)", default = nil, null = true)
29
+ if ActiveRecord::ConnectionAdapters::AbstractAdapter.method_defined?(:lookup_cast_type)
30
+ cast_type = ActiveRecord::ConnectionAdapters::AbstractAdapter.new(nil, nil, nil).lookup_cast_type(sql_type)
31
+ columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, cast_type, sql_type.to_s, null)
32
+ else
33
+ columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
34
+ end
30
35
  end
31
36
 
32
37
  instance_eval(&blk) if blk
@@ -1,20 +1,38 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Warp::ActionMatchers::CreateMatcher do
4
- build_model
4
+ build_model do
5
+ column :foo
6
+
7
+ validates :foo, presence: true
8
+ end
9
+
10
+ before { Warp::Instrument.for(model, Warp::ActionMatchers::CreateMatcher::CREATE_METHOD).calls << Object.new }
5
11
 
6
12
  subject { create(model) }
7
13
 
8
- context "when created with #create" do
9
- let(:block) { -> { model.create({}) } }
14
+ with_contexts do
15
+ context "when created with #create" do
16
+ let(:block) { -> { model.create(params) } }
17
+ end
10
18
 
11
- specify { expect(subject).to match block }
12
- end
19
+ context "when created with #save" do
20
+ let(:block) { -> { model.new(params).save } }
21
+ end
22
+
23
+ behaviour do
24
+ context "with a valid record" do
25
+ let(:params) { {foo: "bar"} }
13
26
 
14
- context "when created with #save" do
15
- let(:block) { -> { model.new.save } }
27
+ specify { expect(subject).to match block }
28
+ end
16
29
 
17
- specify { expect(subject).to match block }
30
+ context "with an invalid record" do
31
+ let(:params) { {} }
32
+
33
+ specify { expect(subject).to_not match block }
34
+ end
35
+ end
18
36
  end
19
37
 
20
38
  context "when nothing created" do
@@ -24,6 +24,14 @@ describe Warp::Instrument do
24
24
  end
25
25
  end
26
26
 
27
+ describe "#reset" do
28
+ before { instrument.calls << Object.new }
29
+
30
+ subject { instrument.reset }
31
+
32
+ specify { expect{subject}.to change{instrument.calls}.to([]) }
33
+ end
34
+
27
35
  describe "#run" do
28
36
  specify { expect{|blk| instrument.run(&blk) }.to yield_control }
29
37
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Drake-Brockman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-07 00:00:00.000000000 Z
11
+ date: 2014-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.14.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.14.0
27
27
  description: Warp provides a selection of inteligent RSpec matchers for your model,
@@ -32,11 +32,11 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - .gitignore
36
- - .rspec
37
- - .ruby-gemset
38
- - .ruby-version
39
- - .travis.yml
35
+ - ".gitignore"
36
+ - ".rspec"
37
+ - ".ruby-gemset"
38
+ - ".ruby-version"
39
+ - ".travis.yml"
40
40
  - Appraisals
41
41
  - CHANGELOG.md
42
42
  - Gemfile
@@ -96,12 +96,12 @@ require_paths:
96
96
  - lib
97
97
  required_ruby_version: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ! '>='
99
+ - - ">="
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ! '>='
104
+ - - ">="
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  requirements: []