actionfacade 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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