sinatra-params 1.0.0 → 1.0.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: d3eb33a310c2c526d9946d9c35fec30bdde4ccee
4
- data.tar.gz: d229877f2ed8a12e63bbc810b8b190e6c0562196
3
+ metadata.gz: 35ad664f95e8b6e7ac423d8a29363dafb883b9c0
4
+ data.tar.gz: 46fb75c85452c2c193f7d13dd2c87a11c248ff73
5
5
  SHA512:
6
- metadata.gz: 38be8425ff75f30a7f3ff814ebfec1b2a3d16813d6038ee97f32aebb501df54e4174e4cf9964f9bd9069e6e5e50684e98f0cf1bcdb364b531a20b987795a446b
7
- data.tar.gz: 8c3e4fa987d68d6119e5e07f51f1ca2aeb852447cc0ba162c5d90b0d412207217f22d0a152d0916e410742c07c1372265c9a4b2ae407a43373e0fd9759733317
6
+ metadata.gz: bccc1e0db604f62b092b37548d3bb01207a2495499075a2dc3080bc54d121c1e71040d5c7768e9d18557d9ef51aaff1014bef3ce0cf32d082f227084dfd1563a
7
+ data.tar.gz: b4cf461ae61aa3672dc6a248ab4705acf480aae5f17d1cc448137c72994d3914ad29cf3a0c337d4306a9ac3c440d79492bb2fd18ed35190d40c17f5b8963087a
File without changes
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Sinatra::Params
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sinatra/params`. To experiment with that code, run `bin/console` for an interactive prompt.
4
3
 
5
- TODO: Delete this and the text above, and describe your gem
6
4
 
7
5
  ## Installation
8
6
 
@@ -24,9 +22,9 @@ Or install it yourself as:
24
22
 
25
23
  ```ruby
26
24
  require 'sinatra'
27
- require 'sinatra-params'
25
+ require 'sinatra/params'
28
26
 
29
- helper Sinatra::Params
27
+ helpers Sinatra::Params
30
28
 
31
29
  get '/' do
32
30
  param :id, Integer
@@ -43,7 +41,7 @@ require 'sinatra/base'
43
41
  require 'sinatra/params'
44
42
 
45
43
  class Application < Sinatra::Base
46
- helper Sinatra::Params
44
+ helpers Sinatra::Params
47
45
 
48
46
  get '/' do
49
47
  param :id, Integer
@@ -2,12 +2,14 @@ require 'date'
2
2
 
3
3
  module Sinatra
4
4
  module Params
5
- @respond_as_table = {
5
+ attr_reader :respond_as, :convert
6
+
7
+ @respond_as = {
6
8
  String => :to_s,
7
9
  Integer => :to_i
8
10
  }
9
11
 
10
- @convert_table = {
12
+ @convert = {
11
13
  String => {
12
14
  Array => Proc.new { |input| input.split(%r{,\s*}) },
13
15
  Date => Proc.new { |input| Date.parse(input) },
@@ -15,18 +17,10 @@ module Sinatra
15
17
  }
16
18
  }
17
19
 
18
- def respond_as
19
- @respond_as_table
20
- end
21
-
22
- def convert
23
- @convert_table
24
- end
25
-
26
20
  def param (name, type, args = {})
27
- raise "Parameter '#{name}' missing" unless params.key? name
21
+ raise 'Parameter {name} missing'.sub('{name}', name) unless params.key? name
28
22
 
29
- define_singleton_method(name) { params[name] }
23
+ params.define_singleton_method(name) { self[name] }
30
24
 
31
25
  if params[name].class == type
32
26
  # Do nothing
@@ -35,7 +29,7 @@ module Sinatra
35
29
  elsif convert[params[name].class] and convert[params[name].class].key? type
36
30
  params[name] = convert[params[name].class][type].call(params[name])
37
31
  else
38
- raise "Parameter '#{name}' not found"
32
+ raise 'Parameter {name} not found'.sub('{name}', name) unless args[:optional]
39
33
  end
40
34
  end
41
35
  end
@@ -1,5 +1,5 @@
1
1
  module Sinatra
2
2
  module Params
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,29 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-params
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felipe Cabrera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-05 00:00:00.000000000 Z
11
+ date: 2018-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sinatra
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sinatra-contrib
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  description:
28
56
  email:
29
57
  - fecabrera@ondasonora.cl
@@ -32,11 +60,11 @@ extensions: []
32
60
  extra_rdoc_files: []
33
61
  files:
34
62
  - Gemfile
35
- - LICENSE.txt
63
+ - LICENSE
36
64
  - README.md
37
65
  - lib/sinatra/params.rb
38
66
  - lib/sinatra/params/version.rb
39
- homepage:
67
+ homepage: https://github.com/fecabrera/sinatra-params
40
68
  licenses:
41
69
  - MIT
42
70
  metadata: {}