extendible 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00f23811e464675bc843dc76dfd25a1cdca487c7
4
- data.tar.gz: fc9b3627be129ef3bb1c8a049bab354e5ada2830
3
+ metadata.gz: b28952ab4f2592b29f58893a3dc90e80adf67b4a
4
+ data.tar.gz: 219da90f624b040e41cdbc5fd6fb971a40db51c9
5
5
  SHA512:
6
- metadata.gz: 89c25defd4890c5debb8e6b960502d3663f1cde741d1bb5a318c18367ceb16e0c6482388fee02276f3b943ea6cbcc6e56291f3c37d42b7016a97af8d0f2cda78
7
- data.tar.gz: 8233cc272325889c6ec0eed8dc6b792c3a8dcef1bd5ef906fee3c3db988fe513884448888c089f65626e0adc3a2d8653c49aece998c8d31808bd5a9ad1ec0fcd
6
+ metadata.gz: 0f821533a0996464884ad2c83458348c1a5ed9d008a345ba6c203ad13f9f4e8992b1600c5e0d681a351c57ac04e5a17170fe91a1ad88ccda7888f720f3c32948
7
+ data.tar.gz: 73e8a8dbca93c3dc15aa5fd8227ffa6d6070b88f654b9a7b904c426db3779ed2d157baeaba53afaa038502d8205fe0e75d17734a26294a53fea085b36fc8d093
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .idea
data/lib/extendible.rb CHANGED
@@ -9,7 +9,7 @@ module Extendible
9
9
  def extended_objects
10
10
  return @extended_objects unless @extended_objects.nil?
11
11
  # empty array if no params[:extend] is provided
12
- return [] if scope[:extend].nil?
12
+ return {} if scope[:extend].nil?
13
13
  all = {}
14
14
  # iterate comma separated list of objects to extend
15
15
  scope[:extend].split(',').map(&:strip).each do |object_name|
@@ -1,3 +1,3 @@
1
1
  module Extendible
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -0,0 +1,41 @@
1
+ class Reference
2
+ attr_accessor :title, :description, :secret
3
+
4
+ def initialize
5
+ @title = 'I\'m an object'
6
+ @description = 'Just a description'
7
+ @secret = 'this is secret'
8
+ end
9
+
10
+ def as_json
11
+ {
12
+ title: @title,
13
+ description: @description,
14
+ secret: @secret
15
+ }
16
+ end
17
+ end
18
+
19
+ class EntitledRef < Reference
20
+ end
21
+
22
+ class PoorRef < Reference
23
+ end
24
+
25
+ class MyObject
26
+ attr_accessor :entitled_ref, :poor_ref
27
+
28
+ def initialize
29
+ @entitled_ref = EntitledRef.new
30
+ @poor_ref = PoorRef.new
31
+ end
32
+ end
33
+
34
+ class MyObjectSerializer < ActiveModel::Serializer
35
+ include Extendible
36
+ end
37
+
38
+ class EntitledRefSerializer < ActiveModel::Serializer
39
+ include Extendible
40
+ attributes :title, :description
41
+ end
data/spec/spec_helper.rb CHANGED
@@ -3,6 +3,7 @@ Bundler.setup
3
3
 
4
4
  require 'extendible'
5
5
  require 'active_model_serializers'
6
+ require 'fixtures/fixtures'
6
7
 
7
8
  RSpec.configure do |config|
8
9
  config.color_enabled = true
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe Extendible do
4
+ it 'responds to extendible' do
5
+ expect(MyObjectSerializer.respond_to?(:extendible)).to be_true
6
+ end
7
+
8
+ it 'makes extendible objects available' do
9
+ serializer = MyObjectSerializer.new({})
10
+ MyObjectSerializer.extendible :entitled_ref, :poor_ref
11
+ expect((serializer.respond_to?(:entitled_ref) and serializer.respond_to?(:poor_ref))).to be_true
12
+ end
13
+
14
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extendible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Falkén
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-27 00:00:00.000000000 Z
11
+ date: 2014-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -81,8 +81,9 @@ files:
81
81
  - extendible.gemspec
82
82
  - lib/extendible.rb
83
83
  - lib/extendible/version.rb
84
- - spec/extendible_spec.rb
84
+ - spec/fixtures/fixtures.rb
85
85
  - spec/spec_helper.rb
86
+ - spec/unit/extendible_spec.rb
86
87
  homepage: https://github.com/robertfalken/extendible
87
88
  licenses:
88
89
  - MIT
@@ -108,5 +109,6 @@ signing_key:
108
109
  specification_version: 4
109
110
  summary: Serializer extension
110
111
  test_files:
111
- - spec/extendible_spec.rb
112
+ - spec/fixtures/fixtures.rb
112
113
  - spec/spec_helper.rb
114
+ - spec/unit/extendible_spec.rb
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- class TestSerializer < ActiveModel::Serializer
5
- include Extendible
6
- end
7
-
8
-
9
- describe Extendible do
10
- it 'responds to extendible' do
11
- expect(TestSerializer.respond_to?(:extendible)).to be_true
12
- end
13
-
14
- it 'makes extendible objects available' do
15
- serializer = TestSerializer.new({})
16
- TestSerializer.extendible :ref_one, :ref_two
17
- expect((serializer.respond_to?(:ref_one) and serializer.respond_to?(:ref_two))).to be_true
18
- end
19
- end