rebels 0.1.0 → 0.2.0

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: b7be0e3c3929f8cc63eaca8bf6f4a38d2921c017
4
- data.tar.gz: 7c84a698875fb814a88d9d743a375246c3155db9
3
+ metadata.gz: 5bb311b6d5e695b3f2f38ad298a3c174784087e4
4
+ data.tar.gz: 4063d5405184d85c352446cdfbd9bacb030f51de
5
5
  SHA512:
6
- metadata.gz: 8b0935b31ab90922a7b7ac4307f1dc3b015d23776540c17533e729dc1309ac9d4d3a830abaeea554b82597abfa5d4c50d9f767f85173fe7b6693501350e60b04
7
- data.tar.gz: 0a53e6de8961cb5fdff1d4e2950c281bb4b0b819e50eaa2a5ae094d229a7d272f2f1339dc70a298ff4d10335d5462b7727936295777fcf12b035282e80afa554
6
+ metadata.gz: 02a0de807d259fc0ed9b7b0bd4b35fad6ec39e7774e81db926559a2e05d908fa97308ad1f63f6c0d7b21ff3869ccb03f4ac20ff1d88c9fc507e19ff7267b5797
7
+ data.tar.gz: 58fcae3a95a16d4fe697617662bf3797fafbc89e90e1c4adf15234dc45aba59974f4e18c04ab34367a9f5f2d547005474a271e2c6cdaa9358021641897d0e123
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ rebels-*.gem
@@ -0,0 +1,5 @@
1
+ class Rebels::Factories::RequestFactory
2
+ def from_controller(controller)
3
+ Rebels::Values::Request.with(method: controller.request.request_method, path: controller.request.path, path_params: controller.request.path_parameters, session: controller.session, params: controller.params, env: controller.env)
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ require 'values'
2
+ require_relative './with'
3
+
4
+ class Rebels::Values::Request < Value.new(:method, :session, :params, :env, :path, :path_params)
5
+ include Rebels::Values::With
6
+
7
+ def path_params
8
+ @path_params || {}
9
+ end
10
+
11
+ def all_params
12
+ path_params.merge(params)
13
+ end
14
+
15
+ def method
16
+ @method || "GET"
17
+ end
18
+
19
+ end
@@ -0,0 +1,15 @@
1
+ module Rebels::Values::With
2
+ def attributes
3
+ keys = self.class.superclass.const_get(:VALUE_ATTRS)
4
+ keys.reduce({}){|m,e| m.merge(e => self.send(e))}
5
+ end
6
+ def with(deltas)
7
+ keys = self.class.superclass.const_get(:VALUE_ATTRS)
8
+ raise "bad keys" if !(deltas.keys - keys).empty?
9
+ map = Hash[keys.zip(values)]
10
+ keys.each do |k|
11
+ map[k] = deltas[k] if deltas.has_key?(k)
12
+ end
13
+ self.class.new(*map.values)
14
+ end
15
+ end
@@ -1,3 +1,7 @@
1
1
  module Rebels
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
+ module Values
4
+ end
5
+ module Factories
6
+ end
3
7
  end
data/lib/rebels.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "rebels/version"
2
+ require "rebels/values/request"
3
+ require "rebels/factories/request_factory"
2
4
 
3
5
  module Rebels
4
- # Your code goes here...
5
6
  end
data/rebels.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
+ spec.add_dependency "values"
25
26
  spec.add_development_dependency "bundler", "~> 1.8"
26
27
  spec.add_development_dependency "rake", "~> 10.0"
27
28
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rebels
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serguei Filimonov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-29 00:00:00.000000000 Z
11
+ date: 2015-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: values
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -56,6 +70,9 @@ files:
56
70
  - bin/console
57
71
  - bin/setup
58
72
  - lib/rebels.rb
73
+ - lib/rebels/factories/request_factory.rb
74
+ - lib/rebels/values/request.rb
75
+ - lib/rebels/values/with.rb
59
76
  - lib/rebels/version.rb
60
77
  - rebels.gemspec
61
78
  homepage: http://serguei.me