activerepresenter 0.0.1
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/activerepresenter.gemspec +27 -0
- data/lib/base.rb +13 -0
- data/test/base_test.rb +15 -0
- data/test/inheritance_test.rb +40 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c8354392eb5babef9c68a3429614b1eafa8df676238c5592b5dc7396c04997af
|
4
|
+
data.tar.gz: 6fc5f46989127a8fa80d4028087bee4f25c84f052bfc8383e7fab0f58c0c66d6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 41163c4abf51711e7819a39235c5151cf30672d14ad41b1474cdac4a642c8c5f91f73c0eabd298df654f3c58090d8189676fa72d450e64ff00fe7a640d2837e3
|
7
|
+
data.tar.gz: 652a47eba3f3a5a81aa0b9d7c177511e46a29a93605b66f7dd5c0dc083e83546df299966cd23e908b3672f67eec26ca3ef178190798689154bc0a980d03d41e7
|
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,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
version = File.read(File.expand_path("../LIGHTRAILS_VERSION", __dir__)).strip
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.platform = Gem::Platform::RUBY
|
7
|
+
s.name = "activerepresenter"
|
8
|
+
s.version = version
|
9
|
+
s.date = "2018-10-03"
|
10
|
+
s.summary = "Active Representer provides model objects by decorating hash-like objects (part of Lightrails)."
|
11
|
+
s.description = "Active Representer provides model objects for web applications by decorating hash-like objects."
|
12
|
+
|
13
|
+
s.required_ruby_version = ">= 2.2.2"
|
14
|
+
s.required_rubygems_version = ">= 1.8.11"
|
15
|
+
|
16
|
+
s.license = "MIT"
|
17
|
+
|
18
|
+
s.authors = ["Ryo Hashimoto"]
|
19
|
+
s.email = "ryohashimoto@gmail.com"
|
20
|
+
s.homepage = "https://github.com/ryohashimoto/lightrails"
|
21
|
+
|
22
|
+
s.files = `git ls-files`.split($/)
|
23
|
+
s.test_files = s.files.grep(/^test/)
|
24
|
+
|
25
|
+
s.add_dependency "bundler", "~> 1.3"
|
26
|
+
s.add_development_dependency "rake", "~> 0"
|
27
|
+
end
|
data/lib/base.rb
ADDED
data/test/base_test.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require_relative "../lib/base.rb"
|
3
|
+
|
4
|
+
class BaseTest < Test::Unit::TestCase
|
5
|
+
test ".new does not raise error" do
|
6
|
+
wrapped = {}
|
7
|
+
assert_nothing_raised { ActiveRepresenter::Base.new(wrapped) }
|
8
|
+
end
|
9
|
+
|
10
|
+
test "#wrapped returns original wrapped object" do
|
11
|
+
wrapped = {}
|
12
|
+
representer = ActiveRepresenter::Base.new(wrapped)
|
13
|
+
assert_equal(representer.wrapped, wrapped)
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require_relative "../lib/base.rb"
|
3
|
+
require "ostruct"
|
4
|
+
|
5
|
+
class UserRepresenter < ActiveRepresenter::Base
|
6
|
+
def full_name
|
7
|
+
"#{first_name} #{last_name}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class InheritanceTest < Test::Unit::TestCase
|
12
|
+
test ".new does not raise error" do
|
13
|
+
user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
|
14
|
+
assert_nothing_raised { UserRepresenter.new(user) }
|
15
|
+
end
|
16
|
+
|
17
|
+
test "#wrapped returns user object" do
|
18
|
+
user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
|
19
|
+
representer = UserRepresenter.new(user)
|
20
|
+
assert_equal(representer.wrapped, user)
|
21
|
+
end
|
22
|
+
|
23
|
+
test "#first_name returns John" do
|
24
|
+
user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
|
25
|
+
representer = UserRepresenter.new(user)
|
26
|
+
assert_equal(representer.first_name, 'John')
|
27
|
+
end
|
28
|
+
|
29
|
+
test "#last_name returns Appleseed" do
|
30
|
+
user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
|
31
|
+
representer = UserRepresenter.new(user)
|
32
|
+
assert_equal(representer.last_name, 'Appleseed')
|
33
|
+
end
|
34
|
+
|
35
|
+
test "#full_name returns John Appleseed" do
|
36
|
+
user = OpenStruct.new(first_name: 'John', last_name: 'Appleseed')
|
37
|
+
representer = UserRepresenter.new(user)
|
38
|
+
assert_equal(representer.full_name, 'John Appleseed')
|
39
|
+
end
|
40
|
+
end
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: activerepresenter
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryo Hashimoto
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-10-03 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: Active Representer provides model objects for web applications by decorating
|
42
|
+
hash-like objects.
|
43
|
+
email: ryohashimoto@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- Rakefile
|
49
|
+
- activerepresenter.gemspec
|
50
|
+
- lib/base.rb
|
51
|
+
- test/base_test.rb
|
52
|
+
- test/inheritance_test.rb
|
53
|
+
homepage: https://github.com/ryohashimoto/lightrails
|
54
|
+
licenses:
|
55
|
+
- MIT
|
56
|
+
metadata: {}
|
57
|
+
post_install_message:
|
58
|
+
rdoc_options: []
|
59
|
+
require_paths:
|
60
|
+
- lib
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 2.2.2
|
66
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.8.11
|
71
|
+
requirements: []
|
72
|
+
rubyforge_project:
|
73
|
+
rubygems_version: 2.7.6
|
74
|
+
signing_key:
|
75
|
+
specification_version: 4
|
76
|
+
summary: Active Representer provides model objects by decorating hash-like objects
|
77
|
+
(part of Lightrails).
|
78
|
+
test_files:
|
79
|
+
- test/base_test.rb
|
80
|
+
- test/inheritance_test.rb
|