controller_less 0.0.1.pre → 0.0.2.pre
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00b2fade723a89307414f967e9dec94acfa28ae6
|
4
|
+
data.tar.gz: a8fe6ca82304d42ab3316bf9d0bdc0f9504ac433
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a59ce4d723907fd0a9255a587c69910970eb48f54d3c2498ac55dea8909e7d8ba56f62714799e52b255ca8f66c5c50015809638f4e1afed3f23cca795742b34c
|
7
|
+
data.tar.gz: 29c05429f9ffb050af2c5d742527691584a435327db66eef254fc4167d675ca9f7f2612f7b4cd3299ab3d3a46f1020e88ffd7f5ac57be258b829b4c1e6a0aa53
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'controller_less/helpers/settings'
|
2
2
|
require 'controller_less/resource.rb'
|
3
3
|
require 'controller_less/resources_controller'
|
4
|
+
require 'controller_less/resource_dsl'
|
4
5
|
|
5
6
|
module ControllerLess
|
6
7
|
class Application
|
@@ -20,9 +21,14 @@ module ControllerLess
|
|
20
21
|
unless Object.const_defined?(resource.controller_name)
|
21
22
|
eval "class ::#{resource.controller_name} < ControllerLess::ResourcesController; end"
|
22
23
|
resource.controller.cl_config = resource
|
24
|
+
block_given? && hook_methods(resource, resource.resource_class, &block)
|
23
25
|
end
|
24
26
|
add_route(name.name.to_s.downcase.pluralize)
|
25
27
|
end
|
28
|
+
def hook_methods(config, resource_class, &block)
|
29
|
+
rdsl = ControllerLess::ResourceDsl.new(config, resource_class)
|
30
|
+
rdsl.run_registration_block(&block)
|
31
|
+
end
|
26
32
|
def add_route(route_name)
|
27
33
|
(self.routes_list ||= Array.new).push(route_name)
|
28
34
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module ControllerLess
|
2
|
+
class ResourceDsl
|
3
|
+
attr_accessor :config, :resource_class
|
4
|
+
def initialize(conf, rclass)
|
5
|
+
self.config, self.resource_class = conf, rclass
|
6
|
+
end
|
7
|
+
def run_registration_block(&block)
|
8
|
+
instance_exec &block
|
9
|
+
end
|
10
|
+
def controller(&block)
|
11
|
+
block_given? && config.controller.class_exec(&block)
|
12
|
+
config.controller
|
13
|
+
end
|
14
|
+
def permitted_params(*args, &block)
|
15
|
+
param_key = config.param_key.to_sym
|
16
|
+
controller do
|
17
|
+
define_method :permitted_params do
|
18
|
+
params.permit(param_key => block ? instance_exec(&block) : args)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -4,8 +4,8 @@ module ControllerLess
|
|
4
4
|
attr_accessor :cl_config
|
5
5
|
end
|
6
6
|
def self.cl_config=(config)
|
7
|
-
|
8
|
-
|
7
|
+
@cl_config = config
|
8
|
+
defaults resource_class: config.resource_class
|
9
9
|
end
|
10
10
|
def cl_config
|
11
11
|
self.class.cl_config
|
@@ -22,14 +22,7 @@ module ControllerLess
|
|
22
22
|
def self.resource_class
|
23
23
|
@cl_config ? @cl_config.resource_class : nil
|
24
24
|
end
|
25
|
-
|
26
|
-
def self.controller_name=(name); end
|
27
|
-
def self.controller_name
|
28
|
-
@cl_config.try(:controller_name)
|
29
|
-
end
|
30
|
-
def controller_name
|
31
|
-
self.class.controller_name
|
32
|
-
end
|
25
|
+
|
33
26
|
def resource_class
|
34
27
|
self.class.resource_class
|
35
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: controller_less
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kamal Ejaz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inherited_resources
|
@@ -51,12 +51,14 @@ executables: []
|
|
51
51
|
extensions: []
|
52
52
|
extra_rdoc_files: []
|
53
53
|
files:
|
54
|
+
- ".gitignore"
|
54
55
|
- controller_less.gemspec
|
55
56
|
- lib/controller_less.rb
|
56
57
|
- lib/controller_less/application.rb
|
57
58
|
- lib/controller_less/base_controller.rb
|
58
59
|
- lib/controller_less/helpers/settings.rb
|
59
60
|
- lib/controller_less/resource.rb
|
61
|
+
- lib/controller_less/resource_dsl.rb
|
60
62
|
- lib/controller_less/resources_controller.rb
|
61
63
|
- lib/controller_less/version.rb
|
62
64
|
homepage: https://github.com/victorcreed/controller_less
|