partial_parameters 0.0.1 → 0.0.2

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: 23ad4d978b7773c56ca70c8497e38ad046603c7f
4
- data.tar.gz: 0809ba83b2eaa372627b1b5225753a1422d6c187
3
+ metadata.gz: 13a56724586587c7ce8bdc5ec75e7cee122c8419
4
+ data.tar.gz: 4ace92c31506aaa08f0a15fb1d70c0c7dd68309c
5
5
  SHA512:
6
- metadata.gz: 6ef115ee6ca7b51c85836e04000595917fa16e6aa7074d2cf3163ea4fb99d1a09bf47868cea943dd2462684a07da7adb180eb8daebb72a97018d5e41b9ca22e2
7
- data.tar.gz: a75b9e56180de716c4dfea88004f9c9dc0ccda57c80d3c5b80430347d91cd0720bb3b18d775a612e745cf59c7675af3493b34d3ad0e815acb8061dc18cd59394
6
+ metadata.gz: 86d8c95b5a3c4e920e77421431870e289646dc434128fef5eaaa3bad69252905e25901cb1b9076ba9453e8286fb1cbee258957542c6775051c2c164024142d0d
7
+ data.tar.gz: 01608bb5f05304be964f45eefaf60691e1b15132e7da48b8c8a81becad6b241be785e5850bfc80be92a5b7ed2d8bd3092a654410d53778782bca5704d3861492
data/README.md CHANGED
@@ -21,7 +21,7 @@ Or install it yourself as:
21
21
 
22
22
  $ gem install partial_parameters
23
23
 
24
- Just include the module `PartialParameters` into your ApplicationHelper and you are ready to go!
24
+ And you are ready to go!
25
25
 
26
26
  ## Usage
27
27
  At the top of your partials, simply call the method `partial_parameters` and list your required and optional parameters:
@@ -0,0 +1,37 @@
1
+ require 'partial_parameters/version'
2
+ require 'partial_parameters/errors'
3
+
4
+ module PartialParameters
5
+ module ActionView
6
+ module Helpers
7
+ if ENV['RAILS_ENV'] == 'production'
8
+ def partial_parameters(**args); end
9
+ else
10
+ def partial_parameters(strict: true, &block)
11
+ raise NoBlockGivenError if block.nil?
12
+ raise InvalidContextError unless block.binding.local_variable_defined?(:local_assigns)
13
+
14
+ @__local_assigns = block.binding.local_variable_get(:local_assigns)
15
+ @__defined_parameters = []
16
+ yield
17
+ unknown_params = @__local_assigns.keys - @__defined_parameters
18
+ raise UnknownParametersError, unknown_params if strict && unknown_params.any?
19
+ ensure
20
+ @__defined_parameters = []
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def required(name)
27
+ optional(name)
28
+ return if @__local_assigns.key?(name)
29
+ raise MissingParameterError, name
30
+ end
31
+
32
+ def optional(name)
33
+ @__defined_parameters << name
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,13 @@
1
+ require 'rails/railtie'
2
+
3
+ module PartialParameters
4
+ class Railtie < ::Rails::Railtie
5
+ initializer 'partial_parameters.action_view' do
6
+ 500.times { puts 'OMG' }
7
+ ActiveSupport.on_load :action_view do
8
+ require 'partial_parameters/action_view/helpers'
9
+ include PartialParameters::ActionView::Helpers
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module PartialParameters
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -1,33 +1,4 @@
1
- require 'partial_parameters/version'
2
- require 'partial_parameters/errors'
1
+ require 'partial_parameters/railtie' if defined?(Rails)
3
2
 
4
3
  module PartialParameters
5
- if ENV['RAILS_ENV'] == 'production'
6
- def partial_parameters(**args); end
7
- else
8
- def partial_parameters(strict: true, &block)
9
- raise NoBlockGivenError if block.nil?
10
- raise InvalidContextError unless block.binding.local_variable_defined?(:local_assigns)
11
-
12
- @__local_assigns = block.binding.local_variable_get(:local_assigns)
13
- @__defined_parameters = []
14
- yield
15
- unknown_params = @__local_assigns.keys - @__defined_parameters
16
- raise UnknownParametersError, unknown_params if strict && unknown_params.any?
17
- ensure
18
- @__defined_parameters = []
19
- end
20
- end
21
-
22
- private
23
-
24
- def required(name)
25
- optional(name)
26
- return if @__local_assigns.key?(name)
27
- raise MissingParameterError, name
28
- end
29
-
30
- def optional(name)
31
- @__defined_parameters << name
32
- end
33
4
  end
@@ -24,4 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'bundler', '~> 1.13'
25
25
  spec.add_development_dependency 'rake', '~> 10.0'
26
26
  spec.add_development_dependency 'minitest', '~> 5.0'
27
+ spec.add_development_dependency 'rubocop'
28
+
29
+ spec.add_runtime_dependency 'activesupport', '>= 3.0'
27
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: partial_parameters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Meichelbeck
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-10 00:00:00.000000000 Z
11
+ date: 2017-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
55
83
  description: Make your partials reusable and self-documented by validating the given
56
84
  parameters in development and test environments.
57
85
  email:
@@ -69,7 +97,9 @@ files:
69
97
  - bin/console
70
98
  - bin/setup
71
99
  - lib/partial_parameters.rb
100
+ - lib/partial_parameters/action_view/helpers.rb
72
101
  - lib/partial_parameters/errors.rb
102
+ - lib/partial_parameters/railtie.rb
73
103
  - lib/partial_parameters/version.rb
74
104
  - partial_parameters.gemspec
75
105
  homepage: https://github.com/julien-meichelbeck/partial_parameters