abstracts 1.0.9 → 1.0.10

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: 0475ce0a6ce2d505e9dc0bb0e1f56e5433b63cfe
4
- data.tar.gz: 6f67ea481b2b12efda97ac624a868d086fa6ebb2
3
+ metadata.gz: fa7626c8683ac3d16a8fd9b7709b190a108b112e
4
+ data.tar.gz: bb43ec11b68629f04646d03145d238a4004640bb
5
5
  SHA512:
6
- metadata.gz: f0982e74ed3b020842984a2e84a460f6e5a2006a8743cfe375187da8222622f8d32183d6672261d3459c90a470fe27cf0411f83e7cdd6a5b1e3ea02731b00508
7
- data.tar.gz: def83127fcc5626941dfcd2ef7bc0b8b56f1c95aadd47487b60d75656b7c8dd940033e591e4274ed3726dd57bc87fd4fd26992f3ed2434ff9d3de27747453a6c
6
+ metadata.gz: 00e2809977bfc04ce83143ace6724c7249ceb2c4c5103d5947ecfb455d14aa697646f5babddd43a3744214e1242a57f6da58bd768ac4d8546f118f66bd288fd6
7
+ data.tar.gz: d151b438f7352f56d5e0005cc48c28bdfa6ad8bb45210ffde36c96cc68626166974c64c03fd909d85050cd8e927f2f715f9e6b69b49633f12058cd8876d32c9f
data/lib/abstracts.rb CHANGED
@@ -44,7 +44,7 @@ module Abstract
44
44
 
45
45
  # Define attribute writers to Abstract::Builder instance according to
46
46
  # existing accessors of Abstract::Object instance
47
- # @param object [Abstract::Object] - Abstract::Object instance
47
+ # @param object [String] - Abstract::Object.class.name
48
48
  # @return [Abstract::Builder] - builder object
49
49
  def initialize(object)
50
50
  @object = Class.const_get(object).new
@@ -0,0 +1,31 @@
1
+ describe 'Abstract::Builder class' do
2
+ before do
3
+ class FooObject < Abstract::Object
4
+ @attrs = %i[foo bar]
5
+ end
6
+
7
+ class FooBuilder < Abstract::Builder
8
+ @build_class = 'FooObject'
9
+ end
10
+ end
11
+
12
+ context '.build' do
13
+ it 'expected to respond to build' do
14
+ expect(FooBuilder.respond_to?(:build)).to eq true
15
+ end
16
+ end
17
+
18
+ context 'subclass.build' do
19
+ it 'expected to return an instance of a class defined by @build_class' do
20
+ expect(FooBuilder.build).to be_an_instance_of FooObject
21
+ end
22
+ end
23
+
24
+ context 'subclass.new' do
25
+ it 'expected to return object which responds to attr_writers defined by @attrs' do
26
+ FooObject.new.attrs.each do |attr|
27
+ expect(FooBuilder.new('FooObject').respond_to?("#{attr}=")).to eq true
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,55 @@
1
+ describe 'Abstract::Extensions::Object module' do
2
+ before do
3
+ Object.include Abstract::Extensions::Object
4
+ end
5
+
6
+ context '.blank?' do
7
+ context 'when self = String.new' do
8
+ it 'String.new.blank? expected to be true' do
9
+ expect(''.blank?).to eq true
10
+ end
11
+ end
12
+
13
+ context 'when self = Hash.new' do
14
+ it 'Hash.new.blank? expected to be true' do
15
+ expect({}.blank?).to eq true
16
+ end
17
+ end
18
+
19
+ context 'when self = Array.new' do
20
+ it 'Array.new.blank? expected to be true' do
21
+ expect([].blank?).to eq true
22
+ end
23
+ end
24
+
25
+ context 'when self = "foo"' do
26
+ it 'foo.blank? expected to be false' do
27
+ expect('foo'.blank?).to eq false
28
+ end
29
+ end
30
+
31
+ context "when self = {qwe: 'rty'}" do
32
+ it "{foo: 'bar'}.blank? expected to be false" do
33
+ expect({ foo: 'bar' }.blank?).to eq false
34
+ end
35
+ end
36
+
37
+ context "when self = ['foo', 'bar']" do
38
+ it "['foo', 'bar'].blank? expected to be false" do
39
+ expect(%w[foo bar].blank?).to eq false
40
+ end
41
+ end
42
+
43
+ context 'when self = Hash' do
44
+ it 'Hash.blank? expected to be false' do
45
+ expect(Hash.blank?).to eq false
46
+ end
47
+ end
48
+
49
+ context 'when self = String' do
50
+ it 'String.blank? expected to be false' do
51
+ expect(String.blank?).to eq false
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,29 @@
1
+ describe 'Abstract::Object class' do
2
+ before do
3
+ class Foo < Abstract::Object
4
+ @attrs = %i[foo bar]
5
+ end
6
+ end
7
+
8
+ context 'instance' do
9
+ it 'expected to respond to :attrs' do
10
+ expect(Abstract::Object.new.respond_to?(:attrs)).to eq true
11
+ end
12
+ end
13
+
14
+ context 'subclass' do
15
+ it 'expected to respond to :attrs and return list of attrs preset via @attrs' do
16
+ expect(Foo.new.respond_to?(:attrs)).to eq true
17
+ expect(Foo.new.attrs).to eq %i[foo bar]
18
+ end
19
+ end
20
+
21
+ context 'subclass' do
22
+ it 'expected to respond to each of attr_accessors preset via @attrs' do
23
+ Foo.new.attrs.each do |attr_accessor|
24
+ expect(Foo.new.respond_to?(attr_accessor)).to eq true
25
+ expect(Foo.new.respond_to?("#{attr_accessor}=")).to eq true
26
+ end
27
+ end
28
+ end
29
+ end
data/spec/spec_helper.rb CHANGED
@@ -1 +1 @@
1
- require_relative '../lib/abstracts.rb'
1
+ require_relative File.expand_path('../abstracts/lib/abstracts.rb')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstracts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vsevolod Suzdaltsev
@@ -17,7 +17,9 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/abstracts.rb
20
- - spec/abstracts_spec.rb
20
+ - spec/abstract_builder_spec.rb
21
+ - spec/abstract_extensions_object_spec.rb
22
+ - spec/abstract_object_spec.rb
21
23
  - spec/spec_helper.rb
22
24
  homepage: http://rubygems.org/gems/abstracts
23
25
  licenses:
@@ -1,53 +0,0 @@
1
- describe '.blank?' do
2
- before do
3
- Object.include Abstract::Extensions::Object
4
- end
5
-
6
- context 'when self = String.new' do
7
- it 'String.new.blank? expected to be true' do
8
- expect(''.blank?).to eq true
9
- end
10
- end
11
-
12
- context 'when self = Hash.new' do
13
- it 'Hash.new.blank? expected to be true' do
14
- expect({}.blank?).to eq true
15
- end
16
- end
17
-
18
- context 'when self = Array.new' do
19
- it 'Array.new.blank? expected to be true' do
20
- expect([].blank?).to eq true
21
- end
22
- end
23
-
24
- context 'when self = "foo"' do
25
- it 'foo.blank? expected to be false' do
26
- expect('foo'.blank?).to eq false
27
- end
28
- end
29
-
30
- context "when self = {qwe: 'rty'}" do
31
- it "{foo: 'bar'}.blank? expected to be false" do
32
- expect({ foo: 'bar' }.blank?).to eq false
33
- end
34
- end
35
-
36
- context "when self = ['foo', 'bar']" do
37
- it "['foo', 'bar'].blank? expected to be false" do
38
- expect(%w[foo bar].blank?).to eq false
39
- end
40
- end
41
-
42
- context 'when self = Hash' do
43
- it 'Hash.blank? expected to be false' do
44
- expect(Hash.blank?).to eq false
45
- end
46
- end
47
-
48
- context 'when self = String' do
49
- it 'String.blank? expected to be false' do
50
- expect(String.blank?).to eq false
51
- end
52
- end
53
- end