to_sssi 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Rakefile +5 -7
  2. data/lib/to_sssi.rb +21 -2
  3. 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 "spec"
6
- require "spec/rake/spectask"
7
- Spec::Rake::SpecTask.new do |t|
8
- t.spec_opts = %w(--format specdoc --colour)
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.0"
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"
@@ -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: false
5
- segments:
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: 2010-05-04 00:00:00 +01:00
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.3.6
63
+ rubygems_version: 1.6.2
71
64
  signing_key:
72
65
  specification_version: 3
73
66
  summary: Convert Ruby objects into SSSI variables.