magnetik 0.0.1 → 0.0.3
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 +4 -4
- data/lib/magnetik/engine.rb +4 -0
- data/lib/magnetik/rails/routes/mapper.rb +28 -0
- data/lib/magnetik/rails/routes/mapping.rb +29 -0
- data/lib/magnetik/rails/routes.rb +49 -0
- data/lib/magnetik/version.rb +1 -1
- data/lib/magnetik.rb +2 -0
- metadata +5 -3
- data/config/routes.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46632b916b07bdeb2940beecad6f7df36800989e
|
4
|
+
data.tar.gz: 4ad872c709af5335152464779d4ba7f5a73eb2b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bf9c9f3ce8e0bc1bf9c63cce519eda6fdd74eb660155cd7cb9cfe558f4db65486eded26ff15d209738503440aef4c4316f94795a3b9e14878effd20bcd3a93b
|
7
|
+
data.tar.gz: 01ccbe73e68064bf171389c2551a97451379248a7fe661c5c4d400d37b137f750194acb9067b17f102c00b806fef0c34539facc4b8c342851dfe87517177157a
|
data/lib/magnetik/engine.rb
CHANGED
@@ -2,6 +2,10 @@ module Magnetik
|
|
2
2
|
class Engine < ::Rails::Engine
|
3
3
|
isolate_namespace Magnetik
|
4
4
|
|
5
|
+
initializer "magnetik.routes" do
|
6
|
+
Magnetik::Rails::Routes.install!
|
7
|
+
end
|
8
|
+
|
5
9
|
config.generators do |g|
|
6
10
|
g.test_framework :rspec
|
7
11
|
g.fixture_replacement :factory_girl, dir: 'spec/factories'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Magnetik
|
2
|
+
module Rails
|
3
|
+
class Routes
|
4
|
+
class Mapper
|
5
|
+
def initialize(mapping = Mapping.new)
|
6
|
+
@mapping = mapping
|
7
|
+
end
|
8
|
+
|
9
|
+
def map(&block)
|
10
|
+
self.instance_eval(&block) if block
|
11
|
+
@mapping
|
12
|
+
end
|
13
|
+
|
14
|
+
def controllers(controller_names = {})
|
15
|
+
@mapping.controllers.merge!(controller_names)
|
16
|
+
end
|
17
|
+
|
18
|
+
def skip_controllers(*controller_names)
|
19
|
+
@mapping.skips = controller_names
|
20
|
+
end
|
21
|
+
|
22
|
+
def as(alias_names = {})
|
23
|
+
@mapping.as.merge!(alias_names)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Magnetik
|
2
|
+
module Rails
|
3
|
+
class Routes
|
4
|
+
class Mapping
|
5
|
+
attr_accessor :controllers, :as, :skips
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@controllers = {
|
9
|
+
credit_cards: 'magnetik/credit_cards',
|
10
|
+
}
|
11
|
+
|
12
|
+
@as = {}
|
13
|
+
@skips = []
|
14
|
+
end
|
15
|
+
|
16
|
+
def [](routes)
|
17
|
+
{
|
18
|
+
controllers: @controllers[routes],
|
19
|
+
as: @as[routes]
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
def skipped?(controller)
|
24
|
+
@skips.include?(controller)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'magnetik/rails/routes/mapping'
|
2
|
+
require 'magnetik/rails/routes/mapper'
|
3
|
+
|
4
|
+
module Magnetik
|
5
|
+
module Rails
|
6
|
+
class Routes
|
7
|
+
module Helper
|
8
|
+
def mount_magnetik(options = {}, &block)
|
9
|
+
Magnetik::Rails::Routes.new(self, &block).generate_routes!(options)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.install!
|
14
|
+
ActionDispatch::Routing::Mapper.send :include, Magnetik::Rails::Routes::Helper
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_accessor :routes
|
18
|
+
|
19
|
+
def initialize(routes, &block)
|
20
|
+
@routes, @block = routes, block
|
21
|
+
end
|
22
|
+
|
23
|
+
def generate_routes!(options)
|
24
|
+
@mapping = Mapper.new.map(&@block)
|
25
|
+
routes.scope options[:scope] || '', as: 'magnetik' do
|
26
|
+
map_route(:credit_cards, :credit_card_routes)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def map_route(name, method)
|
33
|
+
unless @mapping.skipped?(name)
|
34
|
+
send method, @mapping[name]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def credit_card_routes(mapping)
|
39
|
+
routes.resources(
|
40
|
+
:credit_cards,
|
41
|
+
controller: mapping[:controllers],
|
42
|
+
as: :credit_cards,
|
43
|
+
path: 'credit_cards',
|
44
|
+
only: [:index, :create, :update, :destroy],
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/lib/magnetik/version.rb
CHANGED
data/lib/magnetik.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magnetik
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Ivanopoulos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -158,7 +158,6 @@ files:
|
|
158
158
|
- app/use_cases/magnetik/update_credit_card.rb
|
159
159
|
- app/use_cases/use_case.rb
|
160
160
|
- app/views/layouts/magnetik/application.html.erb
|
161
|
-
- config/routes.rb
|
162
161
|
- lib/generators/active_record/magnetik_generator.rb
|
163
162
|
- lib/generators/active_record/templates/migration_credit_cards.rb
|
164
163
|
- lib/generators/active_record/templates/migration_customers.rb
|
@@ -168,6 +167,9 @@ files:
|
|
168
167
|
- lib/magnetik.rb
|
169
168
|
- lib/magnetik/acts_as_magnetik_customer.rb
|
170
169
|
- lib/magnetik/engine.rb
|
170
|
+
- lib/magnetik/rails/routes.rb
|
171
|
+
- lib/magnetik/rails/routes/mapper.rb
|
172
|
+
- lib/magnetik/rails/routes/mapping.rb
|
171
173
|
- lib/magnetik/version.rb
|
172
174
|
- lib/tasks/magnetik_tasks.rake
|
173
175
|
homepage: http://www.papercloud.com.au
|
data/config/routes.rb
DELETED