extendible 0.1.0 → 0.1.1

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: 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