light 0.0.1 → 1.0.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: 0902ac2d8ca8ba16869996c1ef04b7ecb2000d97
4
- data.tar.gz: d7b5fa19e9126827253e862dcbcabf42b4b9e414
3
+ metadata.gz: 0bcfe0b06dba3e6fe05c7abbfc571b4a730f2e14
4
+ data.tar.gz: 8c38fc100b208b7dd433b1cd49ffc532e4805082
5
5
  SHA512:
6
- metadata.gz: 6ffde4729d408042a7b506d3120585cb97fcdfc664c3badacff70d89814a19fd5e0f112a9fa85528f4cba5318b3fb12e60be56544c14d5d854b1ba0ba9d15e86
7
- data.tar.gz: 1f9b9bf84633739b59d1b6cde9f4f02ecd8bb9dc8307d501cc5aea3d2b9c1eb6014b48f21588243913d1209f334f5e36f09b4f019ecf470d8b2194a6693c115b
6
+ metadata.gz: 30a396cc252034d137d96f44daf020e3f84d440285f19df47ce0dda7252baa67ce8654e5ee4664afa085df6e2ed5b9f164b49350ccae24a0e0a6f017322340fe
7
+ data.tar.gz: 5d3f0f12ac99e416d97b54786394da9f2f3b8ecdf8864b3ad9d493d973f13df4293e28ae14f32006ad75f121c50badda36b41e7c96f3aec6bfdf330fa55ad43c
data/README.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # Light
2
2
 
3
- TODO: Write a gem description
3
+ When you need all functionalities of ActiveRecord model but for other purposes than db transactions you can use Light. Light has additional `equality_state` and `to_h` method.
4
+
5
+ ## Examples:
6
+
7
+ ```
8
+
9
+ ```
4
10
 
5
11
  ## Installation
6
12
 
data/Rakefile CHANGED
@@ -1 +1,6 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
data/lib/light/model.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'active_model'
1
2
  module Light
2
3
  class Model
3
4
  include ActiveModel::Serialization
@@ -11,7 +12,7 @@ module Light
11
12
  class << self
12
13
  def attributes(*attrs)
13
14
  attrs.each do |attr|
14
- self.send(:attr_accessor, attr)
15
+ send(:attr_accessor, attr)
15
16
  end
16
17
  @__attributes = (@__attributes || []) + attrs
17
18
  end
@@ -19,28 +20,29 @@ module Light
19
20
 
20
21
  def equality_state
21
22
  self.class.instance_variable_get(:@__attributes).map do |attr|
22
- public_send("#{attr}")
23
+ public_send(attr.to_s)
23
24
  end
24
25
  end
25
26
 
26
- def ==(o)
27
- o.class == self.class && o.equality_state == equality_state
27
+ def ==(other)
28
+ other.class == self.class && other.equality_state == equality_state
28
29
  end
29
30
 
30
- alias_method :eql?, :==
31
+ alias eql? ==
31
32
 
32
33
  def hash
33
34
  equality_state.hash
34
35
  end
35
36
 
36
- def initialize(params={})
37
+ def initialize(params = {})
38
+ return unless params
37
39
  params.each do |attr, value|
38
- self.public_send("#{attr}=", value)
39
- end if params
40
+ public_send("#{attr}=", value)
41
+ end
40
42
  end
41
43
 
42
- def to_h(opts=nil)
43
- self.serializable_hash(opts)
44
+ def to_h(opts = nil)
45
+ serializable_hash(opts)
44
46
  end
45
47
 
46
48
  def persisted?
@@ -57,4 +59,4 @@ module Light
57
59
  end
58
60
  end
59
61
  end
60
- end
62
+ end
data/lib/light/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Light
2
- VERSION = "0.0.1"
2
+ VERSION = '1.0.0'.freeze
3
3
  end
data/lib/light.rb CHANGED
@@ -1,5 +1,5 @@
1
- require "light/version"
2
- require "light/model"
1
+ require 'light/version'
2
+ require 'light/model'
3
3
 
4
4
  module Light
5
5
  # Your code goes here...
data/light.gemspec CHANGED
@@ -4,20 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'light/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "light"
7
+ spec.name = 'light'
8
8
  spec.version = Light::VERSION
9
- spec.authors = ["Pawel Niemczyk"]
10
- spec.email = ["pniemczyk@o2.pl"]
9
+ spec.authors = ['Pawel Niemczyk']
10
+ spec.email = ['pniemczyk@o2.pl']
11
11
  spec.description = %q{Light models}
12
12
  spec.summary = %q{Light models}
13
- spec.homepage = ""
14
- spec.license = "MIT"
13
+ spec.homepage = ''
14
+ spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake"
21
+ spec.add_dependency 'activemodel', '~> 4.0'
22
+ spec.add_development_dependency 'bundler', '~> 1.3'
23
+ spec.add_development_dependency 'rake', '~> 0'
24
+ spec.add_development_dependency 'rspec', '~> 3.1'
25
+ spec.add_development_dependency 'guard-rspec', '~> 0'
23
26
  end
@@ -9,7 +9,6 @@ describe Light::Model do
9
9
  before(:each) { @subject = TestClass.new(test_data) }
10
10
 
11
11
  describe 'initialize' do
12
-
13
12
  it 'fillfull instance' do
14
13
  @subject.name.should eq test_data[:name]
15
14
  @subject.email.should eq test_data[:email]
@@ -33,7 +32,7 @@ describe Light::Model do
33
32
  [
34
33
  TestClass.new(test_data) == TestClass.new(test_data),
35
34
  TestClass.new(test_data).eql?(TestClass.new(test_data))
36
- ].all?.should be_true
35
+ ].all?.should eq(true)
37
36
  end
38
37
  end
39
38
 
@@ -43,7 +42,7 @@ describe Light::Model do
43
42
  end
44
43
 
45
44
  it 'with options' do
46
- hash = {'name' => 'Pawel'}
45
+ hash = { 'name' => 'Pawel' }
47
46
  @subject.as_json(only: :name).should eq hash.stringify_keys
48
47
  end
49
48
  end
@@ -54,7 +53,7 @@ describe Light::Model do
54
53
  end
55
54
 
56
55
  it 'with options' do
57
- hash = {'name' => 'Pawel'}
56
+ hash = { 'name' => 'Pawel' }
58
57
  @subject.to_json(only: :name).should eq hash.to_json
59
58
  end
60
59
  end
metadata CHANGED
@@ -1,41 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: light
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pawel Niemczyk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2017-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - ~>
31
+ - - "~>"
18
32
  - !ruby/object:Gem::Version
19
33
  version: '1.3'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - ~>
38
+ - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.3'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - '>='
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
32
74
  - !ruby/object:Gem::Version
33
75
  version: '0'
34
76
  type: :development
35
77
  prerelease: false
36
78
  version_requirements: !ruby/object:Gem::Requirement
37
79
  requirements:
38
- - - '>='
80
+ - - "~>"
39
81
  - !ruby/object:Gem::Version
40
82
  version: '0'
41
83
  description: Light models
@@ -45,8 +87,8 @@ executables: []
45
87
  extensions: []
46
88
  extra_rdoc_files: []
47
89
  files:
48
- - .gitignore
49
- - .rspec
90
+ - ".gitignore"
91
+ - ".rspec"
50
92
  - Gemfile
51
93
  - Guardfile
52
94
  - LICENSE.txt
@@ -68,17 +110,17 @@ require_paths:
68
110
  - lib
69
111
  required_ruby_version: !ruby/object:Gem::Requirement
70
112
  requirements:
71
- - - '>='
113
+ - - ">="
72
114
  - !ruby/object:Gem::Version
73
115
  version: '0'
74
116
  required_rubygems_version: !ruby/object:Gem::Requirement
75
117
  requirements:
76
- - - '>='
118
+ - - ">="
77
119
  - !ruby/object:Gem::Version
78
120
  version: '0'
79
121
  requirements: []
80
122
  rubyforge_project:
81
- rubygems_version: 2.0.3
123
+ rubygems_version: 2.6.8
82
124
  signing_key:
83
125
  specification_version: 4
84
126
  summary: Light models