shaf 1.4.0 → 1.4.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
  SHA256:
3
- metadata.gz: d6502c5b061eb5e2420e621d91a12866f4d5c8a2a295c8d2b129df12a71d6668
4
- data.tar.gz: 19b4fa57c6b99c69b084b493769dd7291253a9f62e7d0607c5ffdcf8f24f8549
3
+ metadata.gz: 2b68c64b495d1413c70562c4deb0796113c93c4e3c4e269899d31a93baaa7574
4
+ data.tar.gz: ee75b02c4006994eb0f1ea1da93114687d0a5ee5dd64d1dcf62d5dc647210301
5
5
  SHA512:
6
- metadata.gz: d7c299b50eb8b8b62c7dd1ab4b5ebff9f85f1dc286a858ce7a0925e1a7ef30fd4639303b9293c79971118b7a80c2582f0142f063ef131511ab645138bf0c7b44
7
- data.tar.gz: 93b4102fb1b5efd7fe020eab71522ff314a343ee3e67ed19b7a2cdad6b9243188c60b7d56a5ce1c0bb10746045e8f8a2842247880717e8951eae47c622ea806a
6
+ metadata.gz: 0f84860a9c7442d473378ecbd2ca61325bf71f848af65f1e742e01888a37ecb52e0c8bca9e8938eb9b70d5d167501616ce46096cdcba1f87e31299aa47184100
7
+ data.tar.gz: 7ed67fe1fe15cc5300b658eb3e0cfb3c79325829eb2969308a0f31ef06d26bcb5365b8600f716c1e75b85c2fcabdee4b7e17f5b16c999c8fdf6d0d9cfbc1f597
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -31,9 +31,9 @@ module Shaf
31
31
  def options(option_parser, options); end
32
32
  end
33
33
 
34
- def initialize(*args)
34
+ def initialize(*args, **options)
35
35
  @args = args.dup
36
- @options = {}
36
+ @options = options
37
37
  parse_options!
38
38
  end
39
39
 
@@ -3,11 +3,11 @@ require 'sinatra/base'
3
3
  module Shaf
4
4
  module ControllerHooks
5
5
  def before_action(method_name = nil, **options, &block)
6
- __action_hook(:before, method_name, block, options)
6
+ __action_hook(:before, method_name, block, **options)
7
7
  end
8
8
 
9
9
  def after_action(method_name = nil, **options, &block)
10
- __action_hook(:after, method_name, block, options)
10
+ __action_hook(:after, method_name, block, **options)
11
11
  end
12
12
 
13
13
  private
@@ -15,7 +15,7 @@ module Shaf
15
15
  def __action_hook(hook, method_name, block, **options)
16
16
  only = Array(options[:only]) if options.key? :only
17
17
  except = Array(options[:except]) if options.key? :except
18
- validate_symbols(hook: hook, only: only, except: except)
18
+ __validate_symbols(hook: hook, only: only, except: except)
19
19
 
20
20
  path_helpers.each do |helper|
21
21
  next if only && !only.include?(helper)
@@ -43,7 +43,7 @@ module Shaf
43
43
  Regexp.new("#{str}/?")
44
44
  end
45
45
 
46
- def validate_symbols(hook:, only: [], except: [])
46
+ def __validate_symbols(hook:, only: [], except: [])
47
47
  s = "\n\n\"%s\" given as :%s keyword arg to %s hook. Must be a symbol!\n"
48
48
  Array(only).each do |value|
49
49
  next if value.is_a? Symbol
@@ -56,6 +56,4 @@ module Shaf
56
56
  end
57
57
  end
58
58
  end
59
-
60
- Sinatra.register ControllerHooks
61
59
  end
@@ -39,12 +39,12 @@ module Shaf
39
39
  end
40
40
  end
41
41
 
42
- def create(*params)
42
+ def create(*params, **options)
43
43
  clazz = lookup(*params)
44
44
  raise NotFoundError.new(%Q(Command '#{ARGV}' is not supported)) unless clazz
45
45
 
46
46
  args = init_args(clazz, params)
47
- clazz.new(*args)
47
+ clazz.new(*args, **options)
48
48
  end
49
49
 
50
50
  private
@@ -17,6 +17,8 @@ module Shaf
17
17
  end
18
18
 
19
19
  def profile
20
+ return unless serializer
21
+
20
22
  @profile ||= options[:profile] || serializer.semantic_profile
21
23
  end
22
24
  end
data/lib/shaf/router.rb CHANGED
@@ -45,7 +45,7 @@ module Shaf
45
45
 
46
46
  def init_routes
47
47
  @routes = Hash.new do |hash, key|
48
- hash[key] = Hash.new { |hash, key| hash[key] = Set.new }
48
+ hash[key] = Hash.new { |h, k| h[k] = Set.new }
49
49
  end
50
50
  controllers.each { |controller| init_routes_for(controller) }
51
51
  end
data/lib/shaf/utils.rb CHANGED
@@ -4,7 +4,6 @@ require 'erb'
4
4
  require 'forwardable'
5
5
  require 'yaml'
6
6
  require 'shaf/version'
7
- require 'sinatra/base'
8
7
 
9
8
  module Shaf
10
9
  module Utils
@@ -45,6 +44,7 @@ module Shaf
45
44
  end
46
45
 
47
46
  def environment
47
+ require 'sinatra/base'
48
48
  Sinatra::Application.settings.environment
49
49
  end
50
50
 
data/lib/shaf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Shaf
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shaf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sammy Henningsson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  ZMhjYR7sRczGJx+GxGU2EaR0bjRsPVlC4ywtFxoOfRG3WaJcpWGEoAoMJX6Z0bRv
31
31
  M40=
32
32
  -----END CERTIFICATE-----
33
- date: 2019-11-10 00:00:00.000000000 Z
33
+ date: 2019-12-22 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: minitest
@@ -150,6 +150,34 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.17'
153
+ - !ruby/object:Gem::Dependency
154
+ name: git
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.5'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.5'
167
+ - !ruby/object:Gem::Dependency
168
+ name: bundler
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.1'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2.1'
153
181
  description: A framework for building hypermedia driven APIs with sinatra and sequel.
154
182
  email: sammy.henningsson@gmail.com
155
183
  executables:
@@ -321,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
321
349
  - !ruby/object:Gem::Version
322
350
  version: '0'
323
351
  requirements: []
324
- rubygems_version: 3.0.6
352
+ rubygems_version: 3.0.3
325
353
  signing_key:
326
354
  specification_version: 4
327
355
  summary: Sinatra Hypermedia Api Framework
metadata.gz.sig CHANGED
@@ -1,2 +1 @@
1
- (4���3/C�%�r��Spew��DuG��b���I%����ν
2
- �s�R.���%�y��W�7�)��[����㶃�>D����/e|�D@��S�\�,S}��[�9\��
1
+ ra��TNݚ�Fѫ����T$�>+"�>..��SJ�d�tJ0/�Ȝ&N�gޡ"���&T&���.�ph�b���?Y�W;.)����Ns`ҟ�б�43�6��������P��J��8�{��`��e9?��e�⹾GkFk9��S����(��D��1J��l"-��G*�����]\���s4���L �����x����w�~�P5�G��Q����S��`q�x��=C���ln�j�%�R3ߑ[a