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 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
@@ -0,0 +1,10 @@
1
+ module ActionFacade
2
+ class Base
3
+ attr_reader :params
4
+
5
+ # pass controller's params by default
6
+ def initialize(params)
7
+ @params = params
8
+ end
9
+ end
10
+ end
@@ -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