whales_actions 0.1.2 → 0.1.3

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: d4f1a9a93db81f15a84a14a25821077d696a96b5
4
- data.tar.gz: 8df87e596aed8593a70f9d25a16d80e539b9f93c
3
+ metadata.gz: 87ecae3119c2ffc12414e91eaf3fac2e0b1f4176
4
+ data.tar.gz: dab55c6a86c22990c2b8752ae7fe56afded4fd9f
5
5
  SHA512:
6
- metadata.gz: d8b2d94420fb72107228c08a0c89a4c62aa6beb5cc8f7f158798712b331a460da0a73a24f2016978f900cd169a1416265a75e8707f5b368008356c8b69c68d66
7
- data.tar.gz: f97af9c79477326a1891188d3df84c848877a10d164c11d6dca84e7380c170551aa3d843a0bc88bda996a0095f03799f747803883247d2b0ccfc887637a7fd01
6
+ metadata.gz: 633406531f3e53344e7c6c1ae4ab32955dc6c184049919160b0a4e73e0e59f129f60547aea9e7ad485bb94c23bb7ee7c0f8f87e3bbbb94ffabae3d411e96c04f
7
+ data.tar.gz: b1ebd2525e958ebdaae24fd364768e7251de7b8fee23dd822debc81b1cc3df1262c2d5a860f828eb29770f6df28bcfc8704b50b1c6ad07f012c31a3d0d44c7d2
@@ -1,3 +1,3 @@
1
1
  module WhalesActions
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -46,7 +46,7 @@ module WhalesController
46
46
  self.res.body = content
47
47
  @already_built_response = true
48
48
  session.store_session(res)
49
- # flash.store_flash(res)
49
+ flash.store_flash(res)
50
50
  end
51
51
 
52
52
  def redirect_to(url)
@@ -55,7 +55,7 @@ module WhalesController
55
55
  self.res.status = 302
56
56
  @already_built_response = true
57
57
  session.store_session(res)
58
- # flash.store_flash(res)
58
+ flash.store_flash(res)
59
59
  end
60
60
 
61
61
  def render(template_name, file_location = nil)
@@ -72,9 +72,9 @@ module WhalesController
72
72
  private
73
73
 
74
74
  def verify_authenticity_token
75
- # unless params[:authenticity_token] == session["authenticity_token"]
76
- # raise "Missing authenticity token"
77
- # end
75
+ unless params[:authenticity_token] == session["authenticity_token"]
76
+ raise "Missing authenticity token"
77
+ end
78
78
  end
79
79
 
80
80
  end
@@ -1,59 +1,59 @@
1
- # class DefaultActions
2
- # attr_reader :actions
3
- # def initialize(resource)
4
- # @resource = resource.to_s
5
- # @resource_id = @resource.singularize + "_id"
6
- # @actions = all
7
- # end
8
- #
9
- # def parse_action_restrictions(restrictions_hash)
10
- # raise(ArgumentError) if restrictions_hash.size > 1
11
- # send(:only, restrictions_hash[:only]) if restrictions_hash[:only]
12
- # send(:except, restrictions_hash[:except]) if restrictions_hash[:except]
13
- # end
14
- #
15
- # def index
16
- # { index: { suffix: "$", method: :get } }
17
- # end
18
- #
19
- # def show
20
- # { show: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :post } }
21
- # end
22
- #
23
- # def new
24
- # { new: { suffix: "/new$", method: :get } }
25
- # end
26
- #
27
- # def create
28
- # { create: { suffix: "$", method: :post } }
29
- # end
30
- #
31
- # def edit
32
- # { edit: { suffix: "/(?<#{@resource_id}>\\d+)/edit$", method: :get } }
33
- # end
34
- #
35
- # def update
36
- # { update: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :put } }
37
- # end
38
- #
39
- # def destroy
40
- # { destroy: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :delete } }
41
- # end
42
- #
43
- # private
44
- #
45
- # def all
46
- # DefaultActions.instance_methods(false).drop(2).reduce({}) do |accum, method|
47
- # accum.merge(send(method))
48
- # end
49
- # end
50
- #
51
- # def only(action_names)
52
- # @actions.keep_if { |key, _| action_names.include?(key) }
53
- # end
54
- #
55
- # def except(action_names)
56
- # @actions.keep_if { |key, _| !action_names.include?(key) }
57
- # end
58
- #
59
- # end
1
+ class DefaultActions
2
+ attr_reader :actions
3
+ def initialize(resource)
4
+ @resource = resource.to_s
5
+ @resource_id = @resource.singularize + "_id"
6
+ @actions = all
7
+ end
8
+
9
+ def parse_action_restrictions(restrictions_hash)
10
+ raise(ArgumentError) if restrictions_hash.size > 1
11
+ send(:only, restrictions_hash[:only]) if restrictions_hash[:only]
12
+ send(:except, restrictions_hash[:except]) if restrictions_hash[:except]
13
+ end
14
+
15
+ def index
16
+ { index: { suffix: "$", method: :get } }
17
+ end
18
+
19
+ def show
20
+ { show: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :post } }
21
+ end
22
+
23
+ def new
24
+ { new: { suffix: "/new$", method: :get } }
25
+ end
26
+
27
+ def create
28
+ { create: { suffix: "$", method: :post } }
29
+ end
30
+
31
+ def edit
32
+ { edit: { suffix: "/(?<#{@resource_id}>\\d+)/edit$", method: :get } }
33
+ end
34
+
35
+ def update
36
+ { update: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :put } }
37
+ end
38
+
39
+ def destroy
40
+ { destroy: { suffix: "/(?<#{@resource_id}>\\d+)$", method: :delete } }
41
+ end
42
+
43
+ private
44
+
45
+ def all
46
+ DefaultActions.instance_methods(false).drop(2).reduce({}) do |accum, method|
47
+ accum.merge(send(method))
48
+ end
49
+ end
50
+
51
+ def only(action_names)
52
+ @actions.keep_if { |key, _| action_names.include?(key) }
53
+ end
54
+
55
+ def except(action_names)
56
+ @actions.keep_if { |key, _| !action_names.include?(key) }
57
+ end
58
+
59
+ end
@@ -1,25 +1,25 @@
1
- # class Resource
2
- # attr_reader :pattern
3
- #
4
- # def initialize(noun, suffix, parent)
5
- # @noun = noun.to_s
6
- # @pattern = build_route_pattern(suffix, parent)
7
- # end
8
- #
9
- # def build_route_pattern(suffix, parent)
10
- # base = build_base(parent)
11
- # Regexp.new(base + @noun + suffix)
12
- # end
13
- #
14
- # def build_base(parent)
15
- # if parent.empty?
16
- # "^/"
17
- # else
18
- # "^/#{parent}/(?<#{parent.singularize}_id>\\d+)/"
19
- # end
20
- # end
21
- #
22
- # def classify
23
- # klass = Object.const_get(@noun.capitalize + "Controller")
24
- # end
25
- # end
1
+ class Resource
2
+ attr_reader :pattern
3
+
4
+ def initialize(noun, suffix, parent)
5
+ @noun = noun.to_s
6
+ @pattern = build_route_pattern(suffix, parent)
7
+ end
8
+
9
+ def build_route_pattern(suffix, parent)
10
+ base = build_base(parent)
11
+ Regexp.new(base + @noun + suffix)
12
+ end
13
+
14
+ def build_base(parent)
15
+ if parent.empty?
16
+ "^/"
17
+ else
18
+ "^/#{parent}/(?<#{parent.singularize}_id>\\d+)/"
19
+ end
20
+ end
21
+
22
+ def classify
23
+ klass = Object.const_get(@noun.capitalize + "Controller")
24
+ end
25
+ end
@@ -17,28 +17,28 @@ module WhalesDispatch
17
17
  instance_eval(&proc)
18
18
  end
19
19
 
20
- # def resources(controller_noun, scope, **action_restrictions)
21
- # @last_parent_route = "" if scope == :parent
22
- # controller_actions = DefaultActions.new(controller_noun)
23
- # controller_actions.parse_action_restrictions(action_restrictions)
24
- # build_resources(controller_noun, controller_actions)
25
- #
26
- # if block_given?
27
- # @last_parent_route = controller_noun.to_s
28
- # yield
29
- # end
30
- # end
31
- #
32
- # def build_resources(controller_noun, controller_actions)
33
- # controller_actions.actions.each do |action_name, action_hash|
34
- #
35
- # resource = Resource.new(
36
- # controller_noun, action_hash[:suffix], @last_parent_route
37
- # )
38
- #
39
- # send action_hash[:method], resource.pattern, resource.classify, action_name
40
- # end
41
- # end
20
+ def resources(controller_noun, scope, **action_restrictions)
21
+ @last_parent_route = "" if scope == :parent
22
+ controller_actions = DefaultActions.new(controller_noun)
23
+ controller_actions.parse_action_restrictions(action_restrictions)
24
+ build_resources(controller_noun, controller_actions)
25
+
26
+ if block_given?
27
+ @last_parent_route = controller_noun.to_s
28
+ yield
29
+ end
30
+ end
31
+
32
+ def build_resources(controller_noun, controller_actions)
33
+ controller_actions.actions.each do |action_name, action_hash|
34
+
35
+ resource = Resource.new(
36
+ controller_noun, action_hash[:suffix], @last_parent_route
37
+ )
38
+
39
+ send action_hash[:method], resource.pattern, resource.classify, action_name
40
+ end
41
+ end
42
42
 
43
43
  HTML_METHODS.each do |http_method|
44
44
  define_method(http_method) do |pattern, controller_class, action_name|
@@ -1,12 +1,12 @@
1
- require 'yaml'
2
1
  require 'webrick'
2
+ require 'json'
3
3
 
4
4
  module WhalesDispatch
5
5
  class Session
6
6
 
7
7
  def initialize(request)
8
8
  request.cookies.each do |cookie|
9
- @value = YAML.load(cookie.value) if cookie.name == '_whales_app'
9
+ @value = JSON.parse(cookie.value) if cookie.name == '_whales_app'
10
10
  end
11
11
  @value ||= {}
12
12
  end
@@ -20,11 +20,9 @@ module WhalesDispatch
20
20
  end
21
21
 
22
22
  def store_session(response)
23
- cookie = WEBrick::Cookie.new('_whales_app', @value.to_yaml)
24
- puts "got past cookie"
23
+ cookie = WEBrick::Cookie.new('_whales_app', @value.to_json)
25
24
  cookie.path = '/'
26
25
  response.cookies << cookie
27
- puts "added cookie to response"
28
26
  end
29
27
 
30
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whales_actions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Horton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-13 00:00:00.000000000 Z
11
+ date: 2015-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
173
  version: '0'
174
174
  requirements: []
175
175
  rubyforge_project:
176
- rubygems_version: 2.5.0
176
+ rubygems_version: 2.5.1
177
177
  signing_key:
178
178
  specification_version: 4
179
179
  summary: The VC in the Whales MVC framework