controller_less 0.0.2.pre → 0.0.3.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/controller_less/application.rb +9 -5
- data/lib/controller_less/resource.rb +25 -1
- data/lib/controller_less/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1b953583cd04006308f4828d2ce3c7b9105c3df
|
4
|
+
data.tar.gz: 6609eaee4d4301e1e5f8a15c1bd8839a78495f58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09fc958118daed801e33a600590d854d95a1dd550186c102bee8e58d87795ba3948c7c8e73df4c5ca985403fa2ef9d827fd674611ea8941165376caf8b012b04
|
7
|
+
data.tar.gz: 45524735933fc030e0dfa8acc9df04251c2820e27ffc593037b507f8a41eaaf9c7fae3a4a9db4f9070363177594fbbe2bc30e9174c24da27fc78f6a73a928ae3
|
@@ -16,14 +16,14 @@ module ControllerLess
|
|
16
16
|
def files
|
17
17
|
load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }
|
18
18
|
end
|
19
|
-
def register(name, &block)
|
20
|
-
resource = ControllerLess::Resource.new(name)
|
19
|
+
def register(name, options={}, &block)
|
20
|
+
resource = ControllerLess::Resource.new(name, options)
|
21
21
|
unless Object.const_defined?(resource.controller_name)
|
22
22
|
eval "class ::#{resource.controller_name} < ControllerLess::ResourcesController; end"
|
23
23
|
resource.controller.cl_config = resource
|
24
24
|
block_given? && hook_methods(resource, resource.resource_class, &block)
|
25
25
|
end
|
26
|
-
add_route(
|
26
|
+
add_route(resource.route)
|
27
27
|
end
|
28
28
|
def hook_methods(config, resource_class, &block)
|
29
29
|
rdsl = ControllerLess::ResourceDsl.new(config, resource_class)
|
@@ -36,8 +36,12 @@ module ControllerLess
|
|
36
36
|
route_reload
|
37
37
|
end
|
38
38
|
def route_reload
|
39
|
-
|
40
|
-
|
39
|
+
ControllerLess.application.routes_list.each do |route_param|
|
40
|
+
if route_param.respond_to?(:call)
|
41
|
+
Rails.application.routes.draw(&route_param)
|
42
|
+
else
|
43
|
+
Rails.application.routes.draw { send(*route_param) }
|
44
|
+
end
|
41
45
|
end
|
42
46
|
end
|
43
47
|
end
|
@@ -7,11 +7,35 @@ module ControllerLess
|
|
7
7
|
def resource_name
|
8
8
|
resource_class
|
9
9
|
end
|
10
|
+
def route_name
|
11
|
+
resource_class.name.underscore.pluralize
|
12
|
+
end
|
10
13
|
def resource_class
|
11
14
|
resource_class_name.constantize
|
12
15
|
end
|
13
16
|
def controller_name
|
14
|
-
resource_name.name.pluralize.camelize + "Controller"
|
17
|
+
namespace + resource_name.name.pluralize.camelize + "Controller"
|
18
|
+
end
|
19
|
+
def namespace
|
20
|
+
options.fetch(:namespace, "")
|
21
|
+
end
|
22
|
+
def route
|
23
|
+
namespace_route || simple_route
|
24
|
+
end
|
25
|
+
def namespace_route
|
26
|
+
namespace.present? && build_namespace_route || nil
|
27
|
+
end
|
28
|
+
def build_namespace_route
|
29
|
+
func = "lambda do;"
|
30
|
+
arry = options.fetch(:namespace).split("::")
|
31
|
+
func += arry.map { |val| "namespace(:#{val.downcase}) do" }.join(";") << (";#{simple_routes_for_namespace.join(" ")}" + ";end" * arry.size + ";end")
|
32
|
+
@build_namespace_route = eval(func)
|
33
|
+
end
|
34
|
+
def simple_route
|
35
|
+
[:resources, route_name.to_sym]
|
36
|
+
end
|
37
|
+
def simple_routes_for_namespace
|
38
|
+
[:resources, "'#{route_name}'"]
|
15
39
|
end
|
16
40
|
def controller
|
17
41
|
@controller ||= controller_name.constantize
|
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.3.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-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inherited_resources
|
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
81
|
version: 1.3.1
|
82
82
|
requirements: []
|
83
83
|
rubyforge_project:
|
84
|
-
rubygems_version: 2.
|
84
|
+
rubygems_version: 2.5.1
|
85
85
|
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: micro library to dry out basic crud rails controllers.
|