to_sssi 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.
- data/Rakefile +5 -7
- data/lib/to_sssi.rb +21 -2
- metadata +7 -14
data/Rakefile
CHANGED
@@ -2,14 +2,12 @@ require "rubygems"
|
|
2
2
|
require "rake/gempackagetask"
|
3
3
|
require "rake/rdoctask"
|
4
4
|
|
5
|
-
require "
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
t.libs = ["spec"]
|
5
|
+
require "rspec/core/rake_task"
|
6
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
7
|
+
spec.pattern = 'spec/*_spec.rb'
|
8
|
+
spec.rspec_opts = ['--backtrace']
|
10
9
|
end
|
11
10
|
|
12
|
-
|
13
11
|
task :default => ["spec"]
|
14
12
|
|
15
13
|
# This builds the actual gem. For details of what all these options
|
@@ -21,7 +19,7 @@ spec = Gem::Specification.new do |s|
|
|
21
19
|
|
22
20
|
# Change these as appropriate
|
23
21
|
s.name = "to_sssi"
|
24
|
-
s.version = "0.1.
|
22
|
+
s.version = "0.1.1"
|
25
23
|
s.summary = "Convert Ruby objects into SSSI variables."
|
26
24
|
s.author = "Patrick Sinclair"
|
27
25
|
s.email = "patrick.sinclair@bbc.co.uk"
|
data/lib/to_sssi.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
1
3
|
class NilClass
|
2
4
|
def to_sssi
|
3
5
|
end
|
@@ -25,12 +27,29 @@ class FalseClass
|
|
25
27
|
end
|
26
28
|
|
27
29
|
class Hash
|
28
|
-
def to_sssi
|
30
|
+
def to_sssi(prefix='')
|
29
31
|
self.sort.to_a.map do |key, val|
|
30
32
|
value = (val.kind_of?(String) or
|
31
33
|
val.kind_of?(TrueClass) ||
|
32
34
|
val.kind_of?(FalseClass)) ? val.to_sssi : val
|
33
|
-
%[<!--#set var="#{key}" value="#{value}" -->]
|
35
|
+
%[<!--#set var="#{prefix}#{key}" value="#{value}" -->]
|
34
36
|
end.join("\n")
|
35
37
|
end
|
36
38
|
end
|
39
|
+
|
40
|
+
class Array
|
41
|
+
def to_sssi(name='array')
|
42
|
+
result = []
|
43
|
+
self.each_with_index do |val,i|
|
44
|
+
if val.kind_of? Hash
|
45
|
+
result << val.to_sssi("#{name}_#{i}_")
|
46
|
+
else
|
47
|
+
value = (val.kind_of?(String) or
|
48
|
+
val.kind_of?(TrueClass) ||
|
49
|
+
val.kind_of?(FalseClass)) ? val.to_sssi : val
|
50
|
+
result << %[<!--#set var="#{name}_#{i}" value="#{value}" -->]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
result.join("\n")
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: to_sssi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
version: 0.1.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Patrick Sinclair
|
@@ -14,18 +10,17 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-05-15 00:00:00 +01:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
21
17
|
name: rspec
|
22
18
|
prerelease: false
|
23
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
24
21
|
requirements:
|
25
22
|
- - ">="
|
26
23
|
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
24
|
version: "0"
|
30
25
|
type: :development
|
31
26
|
version_requirements: *id001
|
@@ -51,23 +46,21 @@ rdoc_options: []
|
|
51
46
|
require_paths:
|
52
47
|
- lib
|
53
48
|
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
54
50
|
requirements:
|
55
51
|
- - ">="
|
56
52
|
- !ruby/object:Gem::Version
|
57
|
-
segments:
|
58
|
-
- 0
|
59
53
|
version: "0"
|
60
54
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
61
56
|
requirements:
|
62
57
|
- - ">="
|
63
58
|
- !ruby/object:Gem::Version
|
64
|
-
segments:
|
65
|
-
- 0
|
66
59
|
version: "0"
|
67
60
|
requirements: []
|
68
61
|
|
69
62
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.
|
63
|
+
rubygems_version: 1.6.2
|
71
64
|
signing_key:
|
72
65
|
specification_version: 3
|
73
66
|
summary: Convert Ruby objects into SSSI variables.
|