duckface 0.1.0 → 0.1.1

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: 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: