couchpack 0.1.2 → 0.2.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/Gemfile +5 -1
- data/Gemfile.lock +17 -0
- data/LICENSE.txt +1 -1
- data/README.rdoc +3 -2
- data/Rakefile +14 -11
- data/VERSION +1 -1
- data/bin/couchpack +2 -105
- data/couchpack.gemspec +31 -3
- data/lib/couchpack/cli.rb +48 -0
- data/lib/couchpack.rb +68 -0
- metadata +153 -15
data/Gemfile
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
# Add dependencies required to use your gem here.
|
3
3
|
# Example:
|
4
|
-
|
4
|
+
gem "json", "> 1.1.5"
|
5
|
+
gem "typhoeus", "~>0.2"
|
6
|
+
gem "thor", "~>0.14.0"
|
7
|
+
gem "couchwatcher", "~>0.1.0"
|
5
8
|
|
6
9
|
# Add dependencies to develop your gem here.
|
7
10
|
# Include everything needed to run rake, tests, features, etc.
|
@@ -10,4 +13,5 @@ group :development do
|
|
10
13
|
gem "bundler", "~> 1.0.0"
|
11
14
|
gem "jeweler", "~> 1.5.2"
|
12
15
|
gem "rcov", ">= 0"
|
16
|
+
gem "yard", ">= 0"
|
13
17
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,20 +1,37 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
couchwatcher (0.1.0)
|
5
|
+
json (> 1.1.5)
|
6
|
+
json (> 1.1.5)
|
7
|
+
typhoeus (~> 0.2)
|
8
|
+
typhoeus (~> 0.2)
|
4
9
|
git (1.2.5)
|
5
10
|
jeweler (1.5.2)
|
6
11
|
bundler (~> 1.0.0)
|
7
12
|
git (>= 1.2.5)
|
8
13
|
rake
|
14
|
+
json (1.5.2)
|
15
|
+
mime-types (1.16)
|
9
16
|
rake (0.8.7)
|
10
17
|
rcov (0.9.9)
|
11
18
|
shoulda (2.11.3)
|
19
|
+
thor (0.14.6)
|
20
|
+
typhoeus (0.2.4)
|
21
|
+
mime-types
|
22
|
+
mime-types
|
23
|
+
yard (0.7.2)
|
12
24
|
|
13
25
|
PLATFORMS
|
14
26
|
ruby
|
15
27
|
|
16
28
|
DEPENDENCIES
|
17
29
|
bundler (~> 1.0.0)
|
30
|
+
couchwatcher (~> 0.1.0)
|
18
31
|
jeweler (~> 1.5.2)
|
32
|
+
json (> 1.1.5)
|
19
33
|
rcov
|
20
34
|
shoulda
|
35
|
+
thor (~> 0.14.0)
|
36
|
+
typhoeus (~> 0.2)
|
37
|
+
yard
|
data/LICENSE.txt
CHANGED
data/README.rdoc
CHANGED
@@ -6,7 +6,8 @@ This gem is a tools to help packing couch documents for mobile devices. See http
|
|
6
6
|
gem install couchpack
|
7
7
|
|
8
8
|
Usage:
|
9
|
-
couchpack
|
9
|
+
couchpack document [DOCUMENT_URL] [OUTFILE] --auto
|
10
|
+
Note: the optional --auto flag watches the couchdb document for changes and automatically repacks when changes are detected.
|
10
11
|
|
11
12
|
What it does is strip out the "_id" and "_rev" fields so the document can be uploaded in place without being modified and generates a {document}.JSON file.
|
12
13
|
|
@@ -25,5 +26,5 @@ It also strips out the "_rev" field and puts it in a {document}.VERSION file whi
|
|
25
26
|
|
26
27
|
== Copyright
|
27
28
|
|
28
|
-
Copyright (c) 2011
|
29
|
+
Copyright (c) 2011 Kevin Malakoff. See LICENSE.txt for further details.
|
29
30
|
|
data/Rakefile
CHANGED
@@ -18,11 +18,15 @@ Jeweler::Tasks.new do |gem|
|
|
18
18
|
gem.summary = %Q{Couch document packing utility}
|
19
19
|
gem.description = %Q{Use this gem to pack your couchdb document by stripping out the "_id" and "_rev" fields, and putting the "_rev" in a .version file. To be used with https://github.com/kmalakoff/phonegap-couchbase-xplatform}
|
20
20
|
gem.email = "xmann.intl@gmail.com"
|
21
|
-
gem.authors = ["
|
21
|
+
gem.authors = ["Kevin Malakoff"]
|
22
22
|
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
23
|
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
-
gem.
|
25
|
-
|
24
|
+
gem.add_dependency 'json', '> 1.1.5'
|
25
|
+
gem.add_dependency 'typhoeus', '~>0.2'
|
26
|
+
gem.add_dependency 'thor', '~>0.14.0'
|
27
|
+
gem.add_dependency 'couchwatcher', '~>0.1.0'
|
28
|
+
gem.files.include 'lib/couchpack/cli.rb'
|
29
|
+
gem.add_development_dependency "yard", ">= 0"
|
26
30
|
end
|
27
31
|
Jeweler::RubygemsDotOrgTasks.new
|
28
32
|
|
@@ -42,12 +46,11 @@ end
|
|
42
46
|
|
43
47
|
task :default => :test
|
44
48
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
49
|
+
begin
|
50
|
+
require 'yard'
|
51
|
+
YARD::Rake::YardocTask.new
|
52
|
+
rescue LoadError
|
53
|
+
task :yardoc do
|
54
|
+
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
|
55
|
+
end
|
53
56
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1
|
1
|
+
0.2.1
|
data/bin/couchpack
CHANGED
@@ -1,108 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require 'optparse'
|
5
|
-
require "json"
|
6
|
-
require "fileutils"
|
3
|
+
require 'couchpack'
|
7
4
|
|
8
|
-
|
9
|
-
begin
|
10
|
-
# Save ARGV in case someone wants to use it later
|
11
|
-
ORIGINAL_ARGV = ARGV.dup
|
12
|
-
|
13
|
-
options = {:hostname => "localhost", :port => 5984, :db => "couchapp"}
|
14
|
-
|
15
|
-
opts = OptionParser.new do |opts|
|
16
|
-
opts.banner = <<-EOF
|
17
|
-
Usage:
|
18
|
-
Starting:
|
19
|
-
couchpack [-h <hostname>] [-p <port>] [-d <database>] [-a <document>] [-o <outfile filename>]
|
20
|
-
|
21
|
-
Options:
|
22
|
-
EOF
|
23
|
-
|
24
|
-
|
25
|
-
opts.on("-hHOSTNAME", "--hostname HOSTNAME", "Hostname of the CouchDB server") do |x|
|
26
|
-
options[:hostname] = x
|
27
|
-
end
|
28
|
-
|
29
|
-
opts.on("-pPORT", "--port PORT", "Port of the CouchDB server") do |x|
|
30
|
-
options[:port] = x
|
31
|
-
end
|
32
|
-
|
33
|
-
opts.on("-dDB", "--database DB", "Couch document database name on the CouchDB server") do |x|
|
34
|
-
options[:db] = x
|
35
|
-
end
|
36
|
-
|
37
|
-
opts.on("-aDOC", "--adocument DOC", "Couch document name on the CouchDB server") do |x|
|
38
|
-
options[:doc] = x
|
39
|
-
end
|
40
|
-
|
41
|
-
opts.on("-oOUTFILE", "--outfile OUTFILE", "Path of the output file") do |x|
|
42
|
-
options[:outfile] = x
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
opts.parse!
|
48
|
-
|
49
|
-
puts "CouchPack options: #{options.inspect}"
|
50
|
-
|
51
|
-
rescue => err
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
# default is using the database name for the document
|
56
|
-
if options[:doc].nil?
|
57
|
-
options[:doc] = options[:db]
|
58
|
-
end
|
59
|
-
|
60
|
-
# default is using the document name for the output file
|
61
|
-
if options[:outfile].nil?
|
62
|
-
options[:outfile] = options[:db]
|
63
|
-
end
|
64
|
-
options[:outfile] = options[:outfile].gsub("//", "")
|
65
|
-
|
66
|
-
tmp_file = "/tmp/couchpack-#{options[:db]}-#{Time.now.to_i}.json"
|
67
|
-
cmd = "curl -o #{tmp_file} \"http://#{options[:hostname]}:#{options[:port]}/#{options[:db]}/#{options[:doc]}?attachments=true\""
|
68
|
-
|
69
|
-
puts "CMD : #{cmd}"
|
70
|
-
|
71
|
-
`#{cmd}`
|
72
|
-
|
73
|
-
json = JSON.parse(open(tmp_file).read)
|
74
|
-
|
75
|
-
error = json["error"]
|
76
|
-
|
77
|
-
# success
|
78
|
-
if error.nil?
|
79
|
-
version = json["_rev"]
|
80
|
-
|
81
|
-
json.delete("_rev")
|
82
|
-
json.delete("_id")
|
83
|
-
|
84
|
-
# make the directory
|
85
|
-
filename = File.basename(options[:outfile])
|
86
|
-
directoryname = File.dirname(options[:outfile])
|
87
|
-
puts "DIRECTORY: " + directoryname + "\n"
|
88
|
-
puts "FILENAME: " + filename + "\n"
|
89
|
-
if (directoryname != "")
|
90
|
-
FileUtils.mkdir_p(directoryname)
|
91
|
-
end
|
92
|
-
|
93
|
-
f = open(options[:outfile] + ".json", "w")
|
94
|
-
f.write(json.to_json)
|
95
|
-
f.close
|
96
|
-
|
97
|
-
f = open(options[:outfile] + ".version", "w")
|
98
|
-
f.write(version)
|
99
|
-
f.close
|
100
|
-
|
101
|
-
puts "Success: created bundled document: #{options[:outfile]}.json and version file: #{options[:outfile]}.version."
|
102
|
-
puts "Don't forget to add them as a resource to your project!"
|
103
|
-
# failure
|
104
|
-
else
|
105
|
-
puts "Failed: couch responded with: #{json.inspect}"
|
106
|
-
end
|
107
|
-
|
108
|
-
FileUtils.rm(tmp_file)
|
5
|
+
CouchPack::CLI.start
|
data/couchpack.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{couchpack}
|
8
|
-
s.version = "0.1
|
8
|
+
s.version = "0.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["
|
12
|
-
s.date = %q{2011-06-
|
11
|
+
s.authors = ["Kevin Malakoff"]
|
12
|
+
s.date = %q{2011-06-19}
|
13
13
|
s.default_executable = %q{couchpack}
|
14
14
|
s.description = %q{Use this gem to pack your couchdb document by stripping out the "_id" and "_rev" fields, and putting the "_rev" in a .version file. To be used with https://github.com/kmalakoff/phonegap-couchbase-xplatform}
|
15
15
|
s.email = %q{xmann.intl@gmail.com}
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"bin/couchpack",
|
30
30
|
"couchpack.gemspec",
|
31
31
|
"lib/couchpack.rb",
|
32
|
+
"lib/couchpack/cli.rb",
|
32
33
|
"test/helper.rb",
|
33
34
|
"test/test_couchpack.rb"
|
34
35
|
]
|
@@ -46,24 +47,51 @@ Gem::Specification.new do |s|
|
|
46
47
|
s.specification_version = 3
|
47
48
|
|
48
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
+
s.add_runtime_dependency(%q<json>, ["> 1.1.5"])
|
51
|
+
s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
|
52
|
+
s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
|
53
|
+
s.add_runtime_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
49
54
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
50
55
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
51
56
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
52
57
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
58
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
53
59
|
s.add_runtime_dependency(%q<json>, ["> 1.1.5"])
|
60
|
+
s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
|
61
|
+
s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
|
62
|
+
s.add_runtime_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
63
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
54
64
|
else
|
65
|
+
s.add_dependency(%q<json>, ["> 1.1.5"])
|
66
|
+
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
|
67
|
+
s.add_dependency(%q<thor>, ["~> 0.14.0"])
|
68
|
+
s.add_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
55
69
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
56
70
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
57
71
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
58
72
|
s.add_dependency(%q<rcov>, [">= 0"])
|
73
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
59
74
|
s.add_dependency(%q<json>, ["> 1.1.5"])
|
75
|
+
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
|
76
|
+
s.add_dependency(%q<thor>, ["~> 0.14.0"])
|
77
|
+
s.add_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
78
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
60
79
|
end
|
61
80
|
else
|
81
|
+
s.add_dependency(%q<json>, ["> 1.1.5"])
|
82
|
+
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
|
83
|
+
s.add_dependency(%q<thor>, ["~> 0.14.0"])
|
84
|
+
s.add_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
62
85
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
63
86
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
64
87
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
65
88
|
s.add_dependency(%q<rcov>, [">= 0"])
|
89
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
66
90
|
s.add_dependency(%q<json>, ["> 1.1.5"])
|
91
|
+
s.add_dependency(%q<typhoeus>, ["~> 0.2"])
|
92
|
+
s.add_dependency(%q<thor>, ["~> 0.14.0"])
|
93
|
+
s.add_dependency(%q<couchwatcher>, ["~> 0.1.0"])
|
94
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
67
95
|
end
|
68
96
|
end
|
69
97
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'thor/actions'
|
3
|
+
require 'couchwatcher'
|
4
|
+
require 'couchpack'
|
5
|
+
|
6
|
+
module CouchPack
|
7
|
+
|
8
|
+
class CLI < ::Thor
|
9
|
+
include Thor::Actions
|
10
|
+
|
11
|
+
class_option "version",
|
12
|
+
:type => :boolean,
|
13
|
+
:aliases => '-v',
|
14
|
+
:banner => "print version and exit"
|
15
|
+
|
16
|
+
default_task :help
|
17
|
+
|
18
|
+
def initialize(*)
|
19
|
+
super
|
20
|
+
if options[:version]
|
21
|
+
say "couchpack #{::CouchPack::VERSION}", :green
|
22
|
+
exit
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
desc 'document [DOCUMENT_URL] [OUTFILE]', 'extracts the document from a couchdb and prepares for upload to Couchbase'
|
27
|
+
def document(document_url, outfile)
|
28
|
+
auto = options[:auto]
|
29
|
+
|
30
|
+
# pack now
|
31
|
+
::CouchPack::CouchPack::pack_document(document_url, outfile)
|
32
|
+
|
33
|
+
# watch for changes
|
34
|
+
if auto
|
35
|
+
couch_watcher = CouchWatcher::CouchWatcher.new()
|
36
|
+
couch_watcher.add_document_watcher(document_url, false) {|url, id, rev| ::CouchPack::CouchPack::pack_document(document_url, outfile)}
|
37
|
+
couch_watcher.start_watching(false)
|
38
|
+
|
39
|
+
# keep the watcher running
|
40
|
+
while(true)
|
41
|
+
sleep(1000)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
method_option '--auto', :for => :document, :type => :boolean, :default => false,
|
46
|
+
:banner => 'watches a couchdb document for changes and repacks when it changes'
|
47
|
+
end
|
48
|
+
end
|
data/lib/couchpack.rb
CHANGED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'typhoeus'
|
3
|
+
require 'thor/shell/basic'
|
4
|
+
require "fileutils"
|
5
|
+
require 'couchpack/cli'
|
6
|
+
|
7
|
+
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__))))
|
8
|
+
|
9
|
+
module CouchPack
|
10
|
+
VERSION = '0.2.0'
|
11
|
+
|
12
|
+
class CouchPack
|
13
|
+
# shortcut to say
|
14
|
+
def self.say(message, color=nil)
|
15
|
+
@shell ||= Thor::Shell::Basic.new
|
16
|
+
@shell.say message, color
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.pack_document(document_url, outfile)
|
20
|
+
|
21
|
+
# puts "GET #{document_url}"
|
22
|
+
document_url_with_attachments = document_url
|
23
|
+
document_url_with_attachments += "/" if !document_url_with_attachments.end_with?("/")
|
24
|
+
document_url_with_attachments += "?attachments=true"
|
25
|
+
|
26
|
+
response = Typhoeus::Request.get(document_url_with_attachments)
|
27
|
+
# puts "Response: #{response.code} #{JSON.parse(response.body).inspect}"
|
28
|
+
json = response.code == 200 ? JSON.parse(response.body) : nil
|
29
|
+
|
30
|
+
error = json.nil? || json["error"]
|
31
|
+
|
32
|
+
# success
|
33
|
+
if error.nil?
|
34
|
+
version = json["_rev"]
|
35
|
+
|
36
|
+
json.delete("_rev")
|
37
|
+
json.delete("_id")
|
38
|
+
|
39
|
+
# make the directory
|
40
|
+
filename = File.basename(outfile)
|
41
|
+
directoryname = File.dirname(outfile)
|
42
|
+
#puts "DIRECTORY: " + directoryname
|
43
|
+
#puts "FILENAME: " + filename
|
44
|
+
if (directoryname != "")
|
45
|
+
FileUtils.mkdir_p(directoryname)
|
46
|
+
end
|
47
|
+
|
48
|
+
file_existed = File.exists?(outfile + ".json")
|
49
|
+
|
50
|
+
f = open(outfile + ".json", "w")
|
51
|
+
f.write(json.to_json)
|
52
|
+
f.close
|
53
|
+
|
54
|
+
f = open(outfile + ".version", "w")
|
55
|
+
f.write(version)
|
56
|
+
f.close
|
57
|
+
|
58
|
+
say "Created packed document: '#{filename}.json' and version file: '#{filename}.version' in: '#{directoryname}'", :green
|
59
|
+
say "Don't forget to add them as a resource to your project!", :yellow if !file_existed
|
60
|
+
|
61
|
+
# failure
|
62
|
+
else
|
63
|
+
say "couchpack failed: couch responded with: #{json.inspect} for document url: #{document_url}", :red
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
metadata
CHANGED
@@ -1,27 +1,89 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
- 1
|
9
8
|
- 2
|
10
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
|
-
- Stephane Bellity
|
14
13
|
- Kevin Malakoff
|
15
14
|
autorequire:
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-19 00:00:00 +02:00
|
20
19
|
default_executable: couchpack
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
|
-
type: :
|
22
|
+
type: :runtime
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 25
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 1
|
32
|
+
- 5
|
33
|
+
version: 1.1.5
|
34
|
+
name: json
|
35
|
+
version_requirements: *id001
|
36
|
+
prerelease: false
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
type: :runtime
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 15
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
- 2
|
48
|
+
version: "0.2"
|
49
|
+
name: typhoeus
|
50
|
+
version_requirements: *id002
|
51
|
+
prerelease: false
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
type: :runtime
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 39
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
- 14
|
63
|
+
- 0
|
64
|
+
version: 0.14.0
|
65
|
+
name: thor
|
66
|
+
version_requirements: *id003
|
67
|
+
prerelease: false
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
type: :runtime
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 27
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
- 1
|
79
|
+
- 0
|
80
|
+
version: 0.1.0
|
81
|
+
name: couchwatcher
|
82
|
+
version_requirements: *id004
|
83
|
+
prerelease: false
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
type: :development
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
25
87
|
none: false
|
26
88
|
requirements:
|
27
89
|
- - ">="
|
@@ -31,11 +93,11 @@ dependencies:
|
|
31
93
|
- 0
|
32
94
|
version: "0"
|
33
95
|
name: shoulda
|
34
|
-
version_requirements: *
|
96
|
+
version_requirements: *id005
|
35
97
|
prerelease: false
|
36
98
|
- !ruby/object:Gem::Dependency
|
37
99
|
type: :development
|
38
|
-
requirement: &
|
100
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
39
101
|
none: false
|
40
102
|
requirements:
|
41
103
|
- - ~>
|
@@ -47,11 +109,11 @@ dependencies:
|
|
47
109
|
- 0
|
48
110
|
version: 1.0.0
|
49
111
|
name: bundler
|
50
|
-
version_requirements: *
|
112
|
+
version_requirements: *id006
|
51
113
|
prerelease: false
|
52
114
|
- !ruby/object:Gem::Dependency
|
53
115
|
type: :development
|
54
|
-
requirement: &
|
116
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
55
117
|
none: false
|
56
118
|
requirements:
|
57
119
|
- - ~>
|
@@ -63,11 +125,11 @@ dependencies:
|
|
63
125
|
- 2
|
64
126
|
version: 1.5.2
|
65
127
|
name: jeweler
|
66
|
-
version_requirements: *
|
128
|
+
version_requirements: *id007
|
67
129
|
prerelease: false
|
68
130
|
- !ruby/object:Gem::Dependency
|
69
131
|
type: :development
|
70
|
-
requirement: &
|
132
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
71
133
|
none: false
|
72
134
|
requirements:
|
73
135
|
- - ">="
|
@@ -77,11 +139,25 @@ dependencies:
|
|
77
139
|
- 0
|
78
140
|
version: "0"
|
79
141
|
name: rcov
|
80
|
-
version_requirements: *
|
142
|
+
version_requirements: *id008
|
143
|
+
prerelease: false
|
144
|
+
- !ruby/object:Gem::Dependency
|
145
|
+
type: :development
|
146
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
hash: 3
|
152
|
+
segments:
|
153
|
+
- 0
|
154
|
+
version: "0"
|
155
|
+
name: yard
|
156
|
+
version_requirements: *id009
|
81
157
|
prerelease: false
|
82
158
|
- !ruby/object:Gem::Dependency
|
83
159
|
type: :runtime
|
84
|
-
requirement: &
|
160
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
85
161
|
none: false
|
86
162
|
requirements:
|
87
163
|
- - ">"
|
@@ -93,7 +169,68 @@ dependencies:
|
|
93
169
|
- 5
|
94
170
|
version: 1.1.5
|
95
171
|
name: json
|
96
|
-
version_requirements: *
|
172
|
+
version_requirements: *id010
|
173
|
+
prerelease: false
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
type: :runtime
|
176
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ~>
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
hash: 15
|
182
|
+
segments:
|
183
|
+
- 0
|
184
|
+
- 2
|
185
|
+
version: "0.2"
|
186
|
+
name: typhoeus
|
187
|
+
version_requirements: *id011
|
188
|
+
prerelease: false
|
189
|
+
- !ruby/object:Gem::Dependency
|
190
|
+
type: :runtime
|
191
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
192
|
+
none: false
|
193
|
+
requirements:
|
194
|
+
- - ~>
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
hash: 39
|
197
|
+
segments:
|
198
|
+
- 0
|
199
|
+
- 14
|
200
|
+
- 0
|
201
|
+
version: 0.14.0
|
202
|
+
name: thor
|
203
|
+
version_requirements: *id012
|
204
|
+
prerelease: false
|
205
|
+
- !ruby/object:Gem::Dependency
|
206
|
+
type: :runtime
|
207
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
208
|
+
none: false
|
209
|
+
requirements:
|
210
|
+
- - ~>
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
hash: 27
|
213
|
+
segments:
|
214
|
+
- 0
|
215
|
+
- 1
|
216
|
+
- 0
|
217
|
+
version: 0.1.0
|
218
|
+
name: couchwatcher
|
219
|
+
version_requirements: *id013
|
220
|
+
prerelease: false
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
type: :development
|
223
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
224
|
+
none: false
|
225
|
+
requirements:
|
226
|
+
- - ">="
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
hash: 3
|
229
|
+
segments:
|
230
|
+
- 0
|
231
|
+
version: "0"
|
232
|
+
name: yard
|
233
|
+
version_requirements: *id014
|
97
234
|
prerelease: false
|
98
235
|
description: Use this gem to pack your couchdb document by stripping out the "_id" and "_rev" fields, and putting the "_rev" in a .version file. To be used with https://github.com/kmalakoff/phonegap-couchbase-xplatform
|
99
236
|
email: xmann.intl@gmail.com
|
@@ -115,6 +252,7 @@ files:
|
|
115
252
|
- bin/couchpack
|
116
253
|
- couchpack.gemspec
|
117
254
|
- lib/couchpack.rb
|
255
|
+
- lib/couchpack/cli.rb
|
118
256
|
- test/helper.rb
|
119
257
|
- test/test_couchpack.rb
|
120
258
|
has_rdoc: true
|