interface-dsl 0.1.6 → 0.1.7

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: 9b66e4dfaed7be7b755c120bd3cbf66dc7de8887
4
- data.tar.gz: b26c5cb82f8e783cb8f3423261bd66b452da8716
3
+ metadata.gz: 3d4377f4939643464269d9e4e96d33a0cff99560
4
+ data.tar.gz: 54d46b9d28391f54a00595260d8565cfe6fc649b
5
5
  SHA512:
6
- metadata.gz: a14b2f8b4e9182d30ebf9d9c0fd226b0b4ab9da17b0d58bc3d7b4d8df6741aca6a7894d6ccd6fda801777fc35fcd46b26541e0c938e62d6e326362ae1b22c030
7
- data.tar.gz: cc0809845b843ab66b1fed39cc0caa76354c22698ef7bbc67b9f6587ac230f2f7609ddd0a0d8dd4f1f19e4d919fb5e650cece73ef72c99cf223584314b61c647
6
+ metadata.gz: e55b0ec47c24f9800d256494350c4b685aee8811a76c824c418a514b18d5d107e7b1a9ed99fd859f946b13fef60155fc2e9a73dd38b3d7b3118de0076393a3a6
7
+ data.tar.gz: 0c6b055fc796ee142adf5900c9d95192f071ebeee1b3b69e025a48f912d96ae14fd071aade1de5cb7f2e2c894a2d5870af9872c491d98063bad976fc4a571c1c
@@ -0,0 +1,18 @@
1
+ module Interface
2
+ class DirectAdapter
3
+ extend FactoryMethods
4
+ deffactory :call
5
+
6
+ def initialize(callable)
7
+ @callable = callable
8
+ end
9
+
10
+ def call(*args, &block)
11
+ unless @callable.respond_to?(:call)
12
+ fail(Interface::Errors::AdaptationError.new("#{@callable.class} is not callable!"))
13
+ end
14
+
15
+ @callable.call(*args, &block)
16
+ end
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  module Interface
2
2
  module Dsl
3
- VERSION = "0.1.6"
3
+ VERSION = "0.1.7"
4
4
  end
5
5
  end
@@ -0,0 +1,23 @@
1
+ module Interface
2
+ class Response
3
+ def self.__ok__(result)
4
+ new(result: result)
5
+ end
6
+
7
+ def self.__error__(errors)
8
+ new(errors: Array(errors))
9
+ end
10
+
11
+ attr_accessor :errors, :result
12
+
13
+ def initialize(result: nil, errors: [])
14
+ @errors = errors
15
+ @result = result
16
+ @is_ok = errors.empty?
17
+ end
18
+
19
+ def ok?
20
+ @is_ok
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: interface-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleksiy Kurnenkov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-05 00:00:00.000000000 Z
11
+ date: 2017-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-validation
@@ -142,11 +142,13 @@ files:
142
142
  - lib/interface.rb
143
143
  - lib/interface/default_adapter.rb
144
144
  - lib/interface/default_settings.rb
145
+ - lib/interface/direct_adapter.rb
145
146
  - lib/interface/dsl.rb
146
147
  - lib/interface/dsl/version.rb
147
148
  - lib/interface/errors.rb
148
149
  - lib/interface/port_entity.rb
149
150
  - lib/interface/port_group.rb
151
+ - lib/interface/response.rb
150
152
  homepage: https://github.com/o-kurnenkov/interface-dsl
151
153
  licenses:
152
154
  - MIT