whales_actions 0.1.2 → 0.1.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 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