contents_core 0.3.0 → 0.3.2

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: 33b635a47b2e5a090eea2d2c99dba30eef64c508
4
- data.tar.gz: 93e8aa348c86bc228f0b0572a7fbdbec58fe5ad4
3
+ metadata.gz: 01e850b0c0c4fbacf54ecb2f9c847b8f80d4ad9b
4
+ data.tar.gz: a9652d2e234c5c5dee333820f78138bfd422af8b
5
5
  SHA512:
6
- metadata.gz: cb9f8914cbd38b7d91ae103c317c8cbc6310153f2a35d9b294d98c5abfcc84ee919cbbd406e89590ab935bf23cc82dab254e4ed315734c63350957cd0887594e
7
- data.tar.gz: 3b341cdfe78f537cf7118fedc018d49bf834d4677fd1358cecdc2522bef8747411e951e92adee917df5556cadc04c8fb294ef0d31e35d5104513484e2fe74db5
6
+ metadata.gz: c6d7bc017c8b50fba54fa390a3e44c9b02065f900cd276f9f84e683c44cc2f8036de77dc9710242ecb06f63d57d861d97283b4275f49331820a6b3f8cec59751
7
+ data.tar.gz: 6e827ac0122c0b3edb0d23ca73549c86f6cad69d318f650f1d1db10e42f15412cc4f30553d60c1c6b1db7d66089c0ede4e4410bd20c496ab4740d1779ce66f50
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ContentsCore [![Gem Version](https://badge.fury.io/rb/contents_core.svg)](https://badge.fury.io/rb/contents_core) [![Build Status](https://travis-ci.org/blocknotes/contents_core.svg)](https://travis-ci.org/blocknotes/contents_core)
1
+ # ContentsCore [![Gem Version](https://badge.fury.io/rb/contents_core.svg)](https://badge.fury.io/rb/contents_core) [![Build Status](https://travis-ci.org/blocknotes/contents_core.svg)](https://travis-ci.org/blocknotes/contents_core) [![Dependency Status](https://gemnasium.com/badges/github.com/blocknotes/contents_core.svg)](https://gemnasium.com/github.com/blocknotes/contents_core) [![Test Coverage](https://api.codeclimate.com/v1/badges/59196100a1ebb599b088/test_coverage)](https://codeclimate.com/github/blocknotes/contents_core/test_coverage)
2
2
 
3
3
  A Rails gem which offer a structure to manage contents in a flexible way: blocks with recursive nested blocks + items as "leaves"
4
4
 
@@ -14,6 +14,7 @@ module ContentsCore
14
14
  # --- validations ---------------------------------------------------------
15
15
  validate :validate_item
16
16
  validates :block, presence: true, allow_blank: false
17
+ validates :type, presence: true, allow_blank: false
17
18
 
18
19
  # --- methods -------------------------------------------------------------
19
20
  def on_after_initialize
@@ -85,7 +86,7 @@ module ContentsCore
85
86
  end
86
87
 
87
88
  def to_s
88
- self.data
89
+ self.data.to_s
89
90
  end
90
91
 
91
92
  def update_data( value )
@@ -98,7 +99,7 @@ module ContentsCore
98
99
  end
99
100
 
100
101
  def self.permitted_attributes
101
- [ :data_boolean, :data_datetime, :data_file, :data_float, :data_hash, :data_integer, :data_string, :data_text ]
102
+ [:data_boolean, :data_datetime, :data_file, :data_float, :data_hash, :data_integer, :data_string, :data_text]
102
103
  end
103
104
 
104
105
  def self.type_name
@@ -16,12 +16,12 @@ module ContentsCore
16
16
  if data_type
17
17
  self.data_text = case data_type
18
18
  # when :boolean
19
- # self.data_boolean = ( value == 1 ) || ( value == '1' ) || ( value == 'true' ) || ( value == 'yes' )
19
+ # self.data_boolean = value # ( value == 1 ) || ( value == '1' ) || ( value == 'true' ) || ( value == 'yes' )
20
20
  when :float
21
21
  value.map( &:to_f )
22
22
  when :integer
23
23
  value.map( &:to_i )
24
- when :string, :text
24
+ when :string # , :text
25
25
  value.map( &:to_s )
26
26
  else
27
27
  value
@@ -55,10 +55,6 @@ module ContentsCore
55
55
  config[:multiple] ? true : false
56
56
  end
57
57
 
58
- def to_s
59
- self.data
60
- end
61
-
62
58
  def self.type_name
63
59
  'array'
64
60
  end
@@ -7,13 +7,17 @@ module ContentsCore
7
7
  self
8
8
  end
9
9
 
10
+ def from_string( value )
11
+ self.data = ( value == 1 ) || ( value == '1' ) || ( value == 'true' ) || ( value == 'yes' )
12
+ end
13
+
10
14
  def update_data( value )
11
- self.data = ( value == 'true' ) ? 1 : 0
15
+ self.data = value
12
16
  self.save
13
17
  end
14
18
 
15
19
  def to_s
16
- self.data > 0 ? 'true' : 'false'
20
+ self.data_boolean ? 'true' : 'false'
17
21
  end
18
22
 
19
23
  def self.permitted_attributes
@@ -12,10 +12,6 @@ module ContentsCore
12
12
  self.save
13
13
  end
14
14
 
15
- def to_s
16
- self.data.to_s
17
- end
18
-
19
15
  def self.permitted_attributes
20
16
  [ :data_float ]
21
17
  end
@@ -20,13 +20,19 @@ module ContentsCore
20
20
  m = line.match( /([^:]*):(.*)/ )
21
21
  val[m[1]] = m[2].strip if m && !m[1].blank?
22
22
  end
23
- self.data_hash = val
23
+ self.data_hash = val.symbolize_keys
24
24
  end
25
25
  end
26
26
 
27
27
  def method_missing( method, *args, &block )
28
- matches = /data_(.+)=/.match method.to_s
29
- self.data[matches[1]] = args[0] if matches[1]
28
+ matches = /data_([^=]+)([=]{0,1})/.match method.to_s
29
+ if matches
30
+ if matches[2].blank?
31
+ return self.data[matches[1].to_sym]
32
+ elsif matches[1]
33
+ self.data[matches[1].to_sym] = args[0]
34
+ end
35
+ end
30
36
  end
31
37
 
32
38
  def respond_to?( method, include_private = false )
@@ -34,7 +40,7 @@ module ContentsCore
34
40
  end
35
41
 
36
42
  def to_s
37
- self.data_hash ? self.data_hash.inject( '' ) { |k, v| k + v[0] + ': ' + v[1] + "\n" } : {}
43
+ self.data_hash ? self.data_hash.inject( '' ) { |k, v| "#{k}#{v[0]}: #{v[1]}\n" } : {}
38
44
  end
39
45
 
40
46
  def self.permitted_attributes
@@ -12,10 +12,6 @@ module ContentsCore
12
12
  self.save
13
13
  end
14
14
 
15
- def to_s
16
- self.data.to_s
17
- end
18
-
19
15
  def self.permitted_attributes
20
16
  [ :data_integer ]
21
17
  end
@@ -28,7 +28,7 @@ module ContentsCore
28
28
  end
29
29
 
30
30
  def to_s
31
- self.data_hash ? self.data_hash.inject( '' ) { |k, v| k + v[0] + ': ' + v[1] + "\n" } : {}
31
+ self.data_hash ? self.data_hash.inject( '' ) { |k, v| "#{k}#{v[0]}: #{v[1]}\n" } : {}
32
32
  end
33
33
 
34
34
  def self.permitted_attributes
@@ -1,3 +1,3 @@
1
1
  module ContentsCore
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contents_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mat
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-05 00:00:00.000000000 Z
11
+ date: 2017-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails