duckface 0.1.0 → 0.1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e577b9617f48e3903eb76b0caa18053fa1a2d175
4
- data.tar.gz: eea7d673dec1ce4f292b79b6b0fb51b6075c6be0
3
+ metadata.gz: c435d99bc4e1edbdb221e30ab6038796fc0549b6
4
+ data.tar.gz: fcdeaf8063a36e19f5e449abff476abc086f2d9d
5
5
  SHA512:
6
- metadata.gz: 61233510023579889fc8098fe97a7f43f6767f8e21800de2b44707b60f5334b13742196d5f1a36713ba7efc8e6da8628cb1180d1e6bffb0cbd96cc097f04b63a
7
- data.tar.gz: dcccde910cb8bccdf39fef75c877f40a89502f023d01dcf70b1487f9440585d0a289f5b854a5c952a8fd9abb36bbc2a5a17728f13125b50dd3ef2e5ef1b8cdd5
6
+ metadata.gz: 3a662cc1975f524df013b2c35800b8d803a040067984c9850b6b6eb4560f3163aadd4e230e4820d83c101b72966205241e2d7894c5e8e4275172e28f3b56e1ee
7
+ data.tar.gz: bea2ce794065edfa3ae93cd4bf4b95a9c8b43b607946afe00855cd32b322931b5803cb28f143a66a6ef00d8b37db9c94f1acddcf65fa278e6e10e0140d9a86b0
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.8.7
5
+ - 1.9.2
6
+ - 1.9.3
7
+ - 2.0.0
8
+ - 2.1
9
+ - 2.2
10
+ - ree
11
+ - rbx
12
+ - jruby-18mode # JRuby in 1.8 mode
13
+ - jruby-19mode # JRuby in 1.9 mode
14
+
15
+ gemfile:
16
+ - Gemfile
17
+
18
+ sudo: false
19
+
20
+ script: "bundle exec rspec"
@@ -6,7 +6,21 @@ PATH
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ diff-lcs (1.2.5)
9
10
  rake (10.4.2)
11
+ rspec (3.2.0)
12
+ rspec-core (~> 3.2.0)
13
+ rspec-expectations (~> 3.2.0)
14
+ rspec-mocks (~> 3.2.0)
15
+ rspec-core (3.2.3)
16
+ rspec-support (~> 3.2.0)
17
+ rspec-expectations (3.2.1)
18
+ diff-lcs (>= 1.2.0, < 2.0)
19
+ rspec-support (~> 3.2.0)
20
+ rspec-mocks (3.2.1)
21
+ diff-lcs (>= 1.2.0, < 2.0)
22
+ rspec-support (~> 3.2.0)
23
+ rspec-support (3.2.2)
10
24
 
11
25
  PLATFORMS
12
26
  ruby
@@ -15,3 +29,4 @@ DEPENDENCIES
15
29
  bundler (~> 1.8)
16
30
  duckface!
17
31
  rake (~> 10.0)
32
+ rspec (~> 3.2)
data/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  Duckface is a DRY interface check implementation based on duck-typing.
4
4
 
5
+ [![Build Status](https://travis-ci.org/appelsin/duckface.svg?branch=master)](https://travis-ci.org/appelsin/duckface)
6
+ [![Code Climate](https://codeclimate.com/github/appelsin/duckface/badges/gpa.svg)](https://codeclimate.com/github/appelsin/duckface)
7
+
5
8
  ## Installation
6
9
 
7
10
  Add this line to your application's Gemfile:
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.8"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rspec", "~> 3.2"
24
25
  end
@@ -4,7 +4,7 @@ class Duckface
4
4
 
5
5
  def initialize(&block)
6
6
  @conditions = []
7
- instance_eval &block
7
+ instance_eval(&block) if block_given?
8
8
  end
9
9
 
10
10
  def describes?(obj)
@@ -33,3 +33,5 @@ protected
33
33
  end
34
34
 
35
35
  end
36
+
37
+ require "duckface/interface"
@@ -0,0 +1,26 @@
1
+ class Duckface::Interface
2
+ def self.duckface
3
+ @duckface||= ::Duckface.new
4
+ end
5
+
6
+ def self.describes?(obj)
7
+ duckface.describes? obj
8
+ end
9
+
10
+ def self.respond_to(name)
11
+ duckface.send :respond_to, name
12
+ end
13
+
14
+ def self.not_respond_to(name)
15
+ duckface.send :not_respond_to, name
16
+ end
17
+
18
+ def self.is_a(name)
19
+ duckface.send :is_a, name
20
+ end
21
+
22
+ def self.not_a(name)
23
+ duckface.send :not_a, name
24
+ end
25
+
26
+ end
@@ -1,3 +1,3 @@
1
1
  class Duckface
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duckface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Exempliarov
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
41
55
  description: Duckface is a DRY interface check implementation based on duck-typing.
42
56
  email:
43
57
  - urvala@gmail.com
@@ -45,6 +59,7 @@ executables: []
45
59
  extensions: []
46
60
  extra_rdoc_files: []
47
61
  files:
62
+ - ".travis.yml"
48
63
  - CODE_OF_CONDUCT.md
49
64
  - Gemfile
50
65
  - Gemfile.lock
@@ -55,6 +70,7 @@ files:
55
70
  - bin/setup
56
71
  - duckface.gemspec
57
72
  - lib/duckface.rb
73
+ - lib/duckface/interface.rb
58
74
  - lib/duckface/version.rb
59
75
  homepage: https://github.com/appelsin/duckface
60
76
  licenses: