actionfacade 0.0.6
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 +7 -0
- data/Rakefile +24 -0
- data/actionfacade.gemspec +28 -0
- data/lib/action_facade/base.rb +10 -0
- data/lib/actionfacade.rb +1 -0
- data/test/base_test.rb +15 -0
- data/test/inheritance_test.rb +39 -0
- metadata +81 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cd0dc6a9373b1bd8487bd8c794db8c4118ea328cc122454c453070354c008841
|
4
|
+
data.tar.gz: 83ff8b21354f76afbc37e0fe5ceb94182f689977219f787e6ecabc340d30db66
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e5098c47a02ce6cdadac5506b3e7de640102393e6bff66a232ee5c80e7ee8a676bd4dd20d35c58393febcd42c367740c3e90b716c0ff8793c87be63811584e59
|
7
|
+
data.tar.gz: 8e3ed857699903c9d7acfb682ab6f7e306a183f1d33b0509de3ac69b997be0d209d71bed31d7f84d55a316eb7321e628064fd9a96f8c29d56aba15bcd630c224
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rake/testtask"
|
4
|
+
|
5
|
+
desc "Default Task"
|
6
|
+
task default: [ :test ]
|
7
|
+
|
8
|
+
task :package
|
9
|
+
|
10
|
+
Rake::TestTask.new { |t|
|
11
|
+
t.libs << "test"
|
12
|
+
t.pattern = "test/**/*_test.rb"
|
13
|
+
t.warning = true
|
14
|
+
t.verbose = true
|
15
|
+
t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION)
|
16
|
+
}
|
17
|
+
|
18
|
+
namespace :test do
|
19
|
+
task :isolated do
|
20
|
+
Dir.glob("test/**/*_test.rb").all? do |file|
|
21
|
+
sh(Gem.ruby, "-w", "-Ilib:test", file)
|
22
|
+
end || raise("Failures")
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
version = File.read(File.expand_path("../VERSION", __dir__)).strip
|
4
|
+
date = File.read(File.expand_path("../RELEASE_DATE", __dir__)).strip
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.name = "actionfacade"
|
9
|
+
s.version = version
|
10
|
+
s.date = date
|
11
|
+
s.summary = "Action Facade provides a simple interface for data required by view / controller (part of Lightrails)."
|
12
|
+
s.description = "Action Facade provides a simple interface for data required by view / controller."
|
13
|
+
|
14
|
+
s.required_ruby_version = ">= 2.2.2"
|
15
|
+
s.required_rubygems_version = ">= 1.8.11"
|
16
|
+
|
17
|
+
s.license = "MIT"
|
18
|
+
|
19
|
+
s.authors = ["Ryo Hashimoto"]
|
20
|
+
s.email = "ryohashimoto@gmail.com"
|
21
|
+
s.homepage = "https://github.com/ryohashimoto/lightrails"
|
22
|
+
|
23
|
+
s.files = `git ls-files`.split($/)
|
24
|
+
s.test_files = s.files.grep(/^test/)
|
25
|
+
|
26
|
+
s.add_dependency "bundler", "~> 1.3"
|
27
|
+
s.add_development_dependency "rake", "~> 0"
|
28
|
+
end
|
data/lib/actionfacade.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "action_facade/base"
|
data/test/base_test.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "actionfacade"
|
3
|
+
|
4
|
+
class BaseTest < Test::Unit::TestCase
|
5
|
+
test ".new does not raise error" do
|
6
|
+
params = {}
|
7
|
+
assert_nothing_raised { ActionFacade::Base.new(params) }
|
8
|
+
end
|
9
|
+
|
10
|
+
test "#params returns original params object" do
|
11
|
+
params = {}
|
12
|
+
facade = ActionFacade::Base.new(params)
|
13
|
+
assert_equal(facade.params, params)
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "actionfacade"
|
3
|
+
|
4
|
+
class UserFacade < ActionFacade::Base
|
5
|
+
USER_DATA = [{ id: 1, name: "john" }, { id: 2, name: "taro" }]
|
6
|
+
|
7
|
+
def all
|
8
|
+
USER_DATA
|
9
|
+
end
|
10
|
+
|
11
|
+
def taro
|
12
|
+
all.find { |user| user[:name] == "taro" }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class InheritanceTest < Test::Unit::TestCase
|
17
|
+
test ".new does not raise error" do
|
18
|
+
params = {}
|
19
|
+
assert_nothing_raised { UserFacade.new(params) }
|
20
|
+
end
|
21
|
+
|
22
|
+
test "#params returns user object" do
|
23
|
+
params = {}
|
24
|
+
facade = UserFacade.new(params)
|
25
|
+
assert_equal(facade.params, params)
|
26
|
+
end
|
27
|
+
|
28
|
+
test "#all returns all data" do
|
29
|
+
params = {}
|
30
|
+
facade = UserFacade.new(params)
|
31
|
+
assert_equal(facade.all, [{ id: 1, name: "john" }, { id: 2, name: "taro" }])
|
32
|
+
end
|
33
|
+
|
34
|
+
test "#taro returns taro's data" do
|
35
|
+
params = {}
|
36
|
+
facade = UserFacade.new(params)
|
37
|
+
assert_equal(facade.taro, { id: 2, name: "taro" })
|
38
|
+
end
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: actionfacade
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryo Hashimoto
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-10-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: Action Facade provides a simple interface for data required by view /
|
42
|
+
controller.
|
43
|
+
email: ryohashimoto@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- Rakefile
|
49
|
+
- actionfacade.gemspec
|
50
|
+
- lib/action_facade/base.rb
|
51
|
+
- lib/actionfacade.rb
|
52
|
+
- test/base_test.rb
|
53
|
+
- test/inheritance_test.rb
|
54
|
+
homepage: https://github.com/ryohashimoto/lightrails
|
55
|
+
licenses:
|
56
|
+
- MIT
|
57
|
+
metadata: {}
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 2.2.2
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 1.8.11
|
72
|
+
requirements: []
|
73
|
+
rubyforge_project:
|
74
|
+
rubygems_version: 2.7.6
|
75
|
+
signing_key:
|
76
|
+
specification_version: 4
|
77
|
+
summary: Action Facade provides a simple interface for data required by view / controller
|
78
|
+
(part of Lightrails).
|
79
|
+
test_files:
|
80
|
+
- test/base_test.rb
|
81
|
+
- test/inheritance_test.rb
|