jsontrim 0.1.3 → 0.1.4

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/.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.