jsontrim 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,5 +1,6 @@
1
1
  *.sw?
2
2
  .DS_Store
3
+ Gemfile.lock
3
4
  coverage
4
- rdoc
5
5
  pkg
6
+ rdoc
@@ -0,0 +1,8 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.1
4
+ - 1.9.2
5
+ - ree
6
+ - rbx
7
+ - rbx-2.0
8
+ - jruby
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+ gemspec
3
+
@@ -0,0 +1,42 @@
1
+ # jsontrim
2
+
3
+ takes a JSON object, removes specified subtrees and trims arrays
4
+ returns a pretty printed string
5
+
6
+ ## usage
7
+
8
+ require 'jsontrim'
9
+
10
+ before = <<-EOF
11
+ { "foo": {
12
+ "one": { "a": 1, "b": {"c": 2} },
13
+ "two": "value",
14
+ "three": { "b": [1,2,3] }},
15
+ "bar": [1,2,3,4,5] }
16
+ EOF
17
+
18
+ blacklist = [
19
+ "foo:!two", # delete the value before['foo']['two']
20
+ "foo:*:!b", # delete all the keys called "b" nested two levels under "foo"
21
+ "bar:+" # only keep the first element of the foo-list
22
+ ]
23
+
24
+ after = JSONTrim.cut(before, :ignore => blacklist)
25
+
26
+ {
27
+ "foo": {
28
+ "two": ...,
29
+ "three": {
30
+ "b": [ ... ]
31
+ },
32
+ "one": {
33
+ "a": 1,
34
+ "b": { ... }
35
+ }
36
+ },
37
+ "bar": [
38
+ 1,
39
+ ...
40
+ ]
41
+ }
42
+
data/Rakefile CHANGED
@@ -1,58 +1,11 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "jsontrim"
8
- gem.summary = %Q{remove unimportant elements from a json object}
9
- gem.description = %Q{remove unimportant elements from a json object}
10
- gem.email = "mail@levinalex.net"
11
- gem.homepage = "http://github.com/levinalex/jsontrim"
12
- gem.authors = ["Levin Alexander"]
13
- gem.add_development_dependency "thoughtbot-shoulda"
14
- gem.add_dependency "json"
15
- end
16
-
17
- Jeweler::GemcutterTasks.new
18
- rescue LoadError
19
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
20
- end
1
+ $LOAD_PATH.unshift './lib'
21
2
 
22
3
  require 'rake/testtask'
23
- Rake::TestTask.new(:test) do |test|
24
- test.libs << 'lib' << 'test'
25
- test.pattern = 'test/**/*_test.rb'
26
- test.verbose = true
27
- end
28
-
29
- begin
30
- require 'rcov/rcovtask'
31
- Rcov::RcovTask.new do |test|
32
- test.libs << 'test'
33
- test.pattern = 'test/**/*_test.rb'
34
- test.verbose = true
35
- end
36
- rescue LoadError
37
- task :rcov do
38
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
39
- end
40
- end
41
-
42
- task :test => :check_dependencies
4
+ Rake::TestTask.new(:test)
43
5
 
44
- task :default => :test
6
+ require 'bundler'
7
+ Bundler::GemHelper.install_tasks
45
8
 
46
- require 'rake/rdoctask'
47
- Rake::RDocTask.new do |rdoc|
48
- if File.exist?('VERSION')
49
- version = File.read('VERSION')
50
- else
51
- version = ""
52
- end
9
+ require 'jsontrim'
53
10
 
54
- rdoc.rdoc_dir = 'rdoc'
55
- rdoc.title = "jsontrim #{version}"
56
- rdoc.rdoc_files.include('README*')
57
- rdoc.rdoc_files.include('lib/**/*.rb')
58
- end
11
+ task :default => [:test]
@@ -1,56 +1,27 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require 'jsontrim'
5
4
 
6
5
  Gem::Specification.new do |s|
7
6
  s.name = %q{jsontrim}
8
- s.version = "0.1.3"
7
+ s.version = JSONTrim::VERSION
9
8
 
10
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
10
  s.authors = ["Levin Alexander"]
12
- s.date = %q{2009-10-28}
13
11
  s.description = %q{remove unimportant elements from a json object}
14
12
  s.email = %q{mail@levinalex.net}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "jsontrim.gemspec",
27
- "lib/jsontrim.rb",
28
- "test/jsontrim_test.rb",
29
- "test/test_helper.rb"
30
- ]
31
- s.homepage = %q{http://github.com/levinalex/jsontrim}
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+
18
+ s.homepage = %q{http://github.com/levinalex/lis}
32
19
  s.rdoc_options = ["--charset=UTF-8"]
33
20
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.5}
35
21
  s.summary = %q{remove unimportant elements from a json object}
36
- s.test_files = [
37
- "test/jsontrim_test.rb",
38
- "test/test_helper.rb"
39
- ]
40
22
 
41
- if s.respond_to? :specification_version then
42
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
- s.specification_version = 3
44
-
45
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
46
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
47
- s.add_runtime_dependency(%q<json>, [">= 0"])
48
- else
49
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
50
- s.add_dependency(%q<json>, [">= 0"])
51
- end
52
- else
53
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
54
- s.add_dependency(%q<json>, [">= 0"])
55
- end
23
+ s.add_development_dependency("shoulda", "~> 2.11.3")
24
+ s.add_development_dependency("json")
25
+ s.add_development_dependency("rake")
56
26
  end
27
+
@@ -37,6 +37,7 @@ require 'json'
37
37
  # }
38
38
  #
39
39
  class JSONTrim
40
+ VERSION = "0.1.4"
40
41
 
41
42
  # prune the given JSON-string or ruby Hash according to
42
43
  # the rules given in opts[:ignore]
@@ -73,13 +73,13 @@ class JsontrimTest < Test::Unit::TestCase
73
73
  expected = <<-EOF
74
74
  {
75
75
  "foo": {
76
- "two": ...,
77
- "three": {
78
- "b": [ ... ]
79
- },
80
76
  "one": {
81
77
  "a": 1,
82
78
  "b": { ... }
79
+ },
80
+ "two": ...,
81
+ "three": {
82
+ "b": [ ... ]
83
83
  }
84
84
  },
85
85
  "bar": [
@@ -92,4 +92,4 @@ EOF
92
92
  actual = JSONTrim.cut(before, :ignore => blacklist)
93
93
  assert_equal expected.chomp, actual
94
94
  end
95
- end
95
+ end
metadata CHANGED
@@ -1,85 +1,94 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jsontrim
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Levin Alexander
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2009-10-28 00:00:00 +01:00
12
+ date: 2011-07-01 00:00:00.000000000 +02:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: thoughtbot-shoulda
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: shoulda
17
+ requirement: &2161505300 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 2.11.3
17
23
  type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
25
- - !ruby/object:Gem::Dependency
24
+ prerelease: false
25
+ version_requirements: *2161505300
26
+ - !ruby/object:Gem::Dependency
26
27
  name: json
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
34
- version:
28
+ requirement: &2161504920 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: *2161504920
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ requirement: &2161504460 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *2161504460
35
48
  description: remove unimportant elements from a json object
36
49
  email: mail@levinalex.net
37
50
  executables: []
38
-
39
51
  extensions: []
40
-
41
- extra_rdoc_files:
42
- - LICENSE
43
- - README.rdoc
44
- files:
52
+ extra_rdoc_files: []
53
+ files:
45
54
  - .document
46
55
  - .gitignore
56
+ - .travis.yml
57
+ - Gemfile
47
58
  - LICENSE
48
- - README.rdoc
59
+ - README.markdown
49
60
  - Rakefile
50
61
  - VERSION
51
62
  - jsontrim.gemspec
52
63
  - lib/jsontrim.rb
53
- - test/jsontrim_test.rb
54
64
  - test/test_helper.rb
65
+ - test/test_jsontrim.rb
55
66
  has_rdoc: true
56
- homepage: http://github.com/levinalex/jsontrim
67
+ homepage: http://github.com/levinalex/lis
57
68
  licenses: []
58
-
59
69
  post_install_message:
60
- rdoc_options:
70
+ rdoc_options:
61
71
  - --charset=UTF-8
62
- require_paths:
72
+ require_paths:
63
73
  - lib
64
- required_ruby_version: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: "0"
69
- version:
70
- required_rubygems_version: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: "0"
75
- version:
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
76
86
  requirements: []
77
-
78
87
  rubyforge_project:
79
- rubygems_version: 1.3.5
88
+ rubygems_version: 1.6.2
80
89
  signing_key:
81
90
  specification_version: 3
82
91
  summary: remove unimportant elements from a json object
83
- test_files:
84
- - test/jsontrim_test.rb
92
+ test_files:
85
93
  - test/test_helper.rb
94
+ - test/test_jsontrim.rb
@@ -1,18 +0,0 @@
1
- = jsontrim
2
-
3
- Description goes here.
4
-
5
- == Note on Patches/Pull Requests
6
-
7
- * Fork the project.
8
- * Make your feature addition or bug fix.
9
- * Add tests for it. This is important so I don't break it in a
10
- future version unintentionally.
11
- * Commit, do not mess with rakefile, version, or history.
12
- (if you want to have your own version, that is fine but
13
- bump version in a commit by itself I can ignore when I pull)
14
- * Send me a pull request. Bonus points for topic branches.
15
-
16
- == Copyright
17
-
18
- Copyright (c) 2009 Levin Alexander. See LICENSE for details.