datafusion 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2cbf10e291f48bd2ef08847fcc61cd175c9fc5a9
4
+ data.tar.gz: 745fbaea6b99886b511f353dd51c08220cfd39f4
5
+ SHA512:
6
+ metadata.gz: efc5715f103b9b5713fb535d214fbdaef0106969e09dea2049d98ee54e0c0fa80ce6273e97d994a8c72eccc293fc2f05f5560a307b83b2bdaeb5bc2cf0704a1c
7
+ data.tar.gz: 32c38f0c12f011c24415692908f8537c11115748323f202a7ab7337cb9213227f4066de3ac31e33a0401c1e72c20508f086d4a736c195bc83d08bc92ca2788fc
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.3
4
+ before_install: gem install bundler -v 1.10.6
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in mediumize.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,7 @@
1
+
2
+ guard :minitest do
3
+ # with Minitest::Spec
4
+ watch(%r{^spec/(.*)_spec\.rb$})
5
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
6
+ watch(%r{^spec/spec_helper\.rb$}) { 'spec' }
7
+ end
data/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # Mediumize
2
+
3
+ [![Gem Version](https://img.shields.io/gem/v/mediumize.svg)](https://rubygems.org/gems/mediumize)
4
+ [![Build Status](https://travis-ci.org/jondot/mediumize.svg?branch=master)](https://travis-ci.org/jondot/mediumize)
5
+
6
+ Automatically post (and cross-post) your markdown style blog posts to your [Medium](http://medium.com) account from [Jekyll](http://jekyllrb.com/), [Middleman](middlemanapp.com), [Hugo](http://gohugo.io/) and others.
7
+
8
+ Mediumize will only publish drafts, and never publicly.
9
+
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ ```ruby
16
+ gem 'mediumize'
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install mediumize
26
+
27
+ ## Usage
28
+
29
+ Either via command line (suitable for manual / Hugo flows):
30
+
31
+ $ mediumize -t your-medium-integration-token file1.md file2.md ... fileN.md
32
+
33
+ Or, integrate it via Ruby into your Jekyll / Middleman flow:
34
+
35
+ ```ruby
36
+ require 'mediumize'
37
+ p = Mediumize::Publisher(
38
+ :token => "your-medium-integration-token",
39
+ :frontmatter => true
40
+ )
41
+
42
+ %w{
43
+ file1.md
44
+ file2.md
45
+ fileN.md
46
+ }.each do |file|
47
+ puts p.publish(file)
48
+ end
49
+ ```
50
+
51
+ ## Development
52
+
53
+ 1. `git clone https://github.com/jondot/mediumize && cd mediumize`
54
+ 2. `bundle`
55
+ 3. `rake test`
56
+ 4. Optionally, use guard
57
+
58
+
59
+ # Contributing
60
+
61
+ Fork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :).
62
+
63
+ ### Thanks:
64
+
65
+ To all [contributors](https://github.com/jondot/mediumize/graphs/contributors)
66
+
67
+ # Copyright
68
+
69
+ Copyright (c) 2016 [Dotan Nahum](http://gplus.to/dotan) [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "spec"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['spec/**/*_spec.rb']
8
+ end
9
+
10
+ task :default => :test
data/bin/datafusion ADDED
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "datafusion"
4
+ require "slop"
5
+
6
+ def bail(err, opts)
7
+ puts err
8
+ puts
9
+ puts opts
10
+ exit(1)
11
+ end
12
+
13
+ #
14
+ # $ datafusion --fuse integrations.yml
15
+ # $ datafusion --agent
16
+ #
17
+ begin
18
+ o = Slop::Options.new
19
+ o.string '-f', '--fuse', ''
20
+ o.string '-u', '--user', '', default: 'postgres'
21
+ o.bool '-a', '--agent', '', default: false
22
+ o.on '--version', 'print the version' do
23
+ puts Datafusion::VERSION
24
+ exit
25
+ end
26
+ o.on '--help' do
27
+ puts o
28
+ exit
29
+ end
30
+ opts = Slop::Parser.new(o).parse(ARGV)
31
+
32
+ # if agent..
33
+
34
+
35
+ if opts[:fuse] && !File.exist?(opts[:fuse])
36
+ bail "Error: please provide a file to fuse", opts
37
+ end
38
+ puts Datafusion.fuse(opts[:user], opts[:fuse])
39
+
40
+
41
+ rescue
42
+ bail "Error: #{$!}", o
43
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'datafusion/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "datafusion"
8
+ spec.version = Datafusion::VERSION
9
+ spec.authors = ["Dotan Nahum"]
10
+ spec.email = ["jondotan@gmail.com"]
11
+
12
+ spec.summary = %q{xxx}
13
+ spec.description = %q{xxx}
14
+ spec.homepage = "https://github.com/jondot/datafusion"
15
+
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "bin"
19
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency 'slop', '~> 4.2.1'
23
+ spec.add_dependency 'colorize', '~> 0.7.7'
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.10"
26
+ spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "minitest"
28
+ end
@@ -0,0 +1,12 @@
1
+ require 'erb'
2
+ require 'yaml'
3
+
4
+ module Datafusion
5
+ class Integrations
6
+ def self.load(integfile)
7
+ erb = ERB.new(File.read(integfile))
8
+ YAML.load(erb.result(binding))
9
+ end
10
+ end
11
+ end
12
+
@@ -0,0 +1,34 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+
8
+ CREATE extension if not exists multicorn;
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+ -- create server object
14
+ DROP server if exists <%= server %> CASCADE;
15
+ CREATE server <%= server %>
16
+ FOREIGN DATA WRAPPER multicorn
17
+ OPTIONS (
18
+ wrapper 'mailchimpfdw.MailchimpMembersFDW'
19
+ );
20
+
21
+ -- creating <%= data["tables"].size %> FDW tables:
22
+ <% data["tables"].each do |table| %>
23
+ <% table_name = table["name"] %>
24
+ -- create foreign table: <%= table_name %>
25
+ DROP foreign table if exists <%= table_name %>;
26
+ CREATE FOREIGN TABLE <%= table_name %> (
27
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
28
+ )
29
+ SERVER <%= server %>
30
+ OPTIONS (
31
+ key '<%= table["key"]%>',
32
+ list_name '<%= table["list_name"] %>'
33
+ );
34
+ <% end %>
@@ -0,0 +1,46 @@
1
+
2
+ --------------------------------------
3
+ -- Set up data fusion for:
4
+ -- name: <%= name %>
5
+ -- kind: <%= data["kind"] %>
6
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
7
+ --------------------------------------
8
+
9
+ CREATE extension if not exists mongo_fdw;
10
+
11
+
12
+ <%
13
+ server = "#{name}_server"
14
+ %>
15
+
16
+ -- create server object
17
+ DROP server if exists <%= server %> CASCADE;
18
+ CREATE server <%= server %>
19
+ FOREIGN DATA WRAPPER mongo_fdw
20
+ OPTIONS (
21
+ address '<%= data["server"]["address"] %>',
22
+ port '<%= data["server"]["port"] %>'
23
+ );
24
+
25
+ -- create user mapping
26
+ CREATE USER MAPPING FOR <%= user %>
27
+ SERVER <%= server %>
28
+ OPTIONS (
29
+ username '<%= data["server"]["username"] %>',
30
+ password '<%= data["server"]["password"] %>'
31
+ );
32
+
33
+ -- creating <%= data["tables"].size %> FDW tables:
34
+ <% data["tables"].each do |table| %>
35
+ <% table_name = table["name"] %>
36
+ -- create foreign table: <%= table_name %>
37
+ DROP foreign table if exists <%= table_name %>;
38
+ CREATE FOREIGN TABLE <%= table_name %> (
39
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
40
+ )
41
+ SERVER <%= server %>
42
+ OPTIONS (
43
+ database '<%= table["database"] %>',
44
+ collection '<%= table["collection"] %>'
45
+ );
46
+ <% end %>
@@ -0,0 +1,45 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+
8
+ CREATE extension if not exists mysql_fdw;
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+
14
+ -- create server object
15
+ DROP server if exists <%= server %> CASCADE;
16
+ CREATE server <%= server %>
17
+ FOREIGN DATA WRAPPER mysql_fdw
18
+ OPTIONS (
19
+ host '<%= data["server"]["address"] %>',
20
+ port '<%= data["server"]["port"] %>'
21
+ );
22
+
23
+ -- create user mapping
24
+ CREATE USER MAPPING FOR <%= user %>
25
+ SERVER <%= server %>
26
+ OPTIONS (
27
+ username '<%= data["server"]["username"] %>',
28
+ password '<%= data["server"]["password"] %>'
29
+ );
30
+
31
+ -- creating <%= data["tables"].size %> FDW tables:
32
+ <% data["tables"].each do |table| %>
33
+ <% table_name = table["name"] %>
34
+ -- create foreign table: <%= table_name %>
35
+ DROP foreign table if exists <%= table_name %>;
36
+ CREATE FOREIGN TABLE <%= table_name %> (
37
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
38
+ )
39
+ SERVER <%= server %>
40
+ OPTIONS (
41
+ dbname '<%= data["server"]["dbname"] %>',
42
+ table_name '<%= table["table_name"]%>'
43
+ );
44
+ <% end %>
45
+
@@ -0,0 +1,34 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+ CREATE extension if not exists neo4j_fdw;
8
+
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+
14
+ -- create server object
15
+ DROP server if exists <%= server %> CASCADE;
16
+ CREATE SERVER <%= server %>
17
+ FOREIGN DATA WRAPPER neo4j_fdw
18
+ OPTIONS (
19
+ url '<%= data["server"]["url"] %>'
20
+ );
21
+
22
+ -- creating <%= data["tables"].size %> FDW tables:
23
+ <% data["tables"].each do |table| %>
24
+ <% table_name = table["name"] %>
25
+ -- create foreign table: <%= table_name %>
26
+ DROP foreign table if exists <%= table_name %>;
27
+ CREATE FOREIGN TABLE <%= table_name %> (
28
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
29
+ )
30
+ SERVER <%= server %>
31
+ OPTIONS (
32
+ query '<%= table["query"] %>'
33
+ );
34
+ <% end %>
@@ -0,0 +1,35 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+
8
+ CREATE extension if not exists multicorn;
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+ -- create server object
14
+ DROP server if exists <%= server %> CASCADE;
15
+ CREATE server <%= server %>
16
+ FOREIGN DATA WRAPPER multicorn
17
+ OPTIONS (
18
+ wrapper 'parse_fdw.parse_fdw.ParseFdw'
19
+ );
20
+
21
+ -- creating <%= data["tables"].size %> FDW tables:
22
+ <% data["tables"].each do |table| %>
23
+ <% table_name = table["name"] %>
24
+ -- create foreign table: <%= table_name %>
25
+ DROP foreign table if exists <%= table_name %>;
26
+ CREATE FOREIGN TABLE <%= table_name %> (
27
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
28
+ )
29
+ SERVER <%= server %>
30
+ OPTIONS (
31
+ application_id '<%= table["application_id"] %>',
32
+ rest_api_key '<%= table["rest_api_key"] %>',
33
+ class_name '<%= table["class_name"] %>'
34
+ );
35
+ <% end %>
@@ -0,0 +1,44 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+
8
+ CREATE extension if not exists postgres_fdw;
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+
14
+ -- create server object
15
+ DROP server if exists <%= server %> CASCADE;
16
+ CREATE server <%= server %>
17
+ FOREIGN DATA WRAPPER postgres_fdw
18
+ OPTIONS (
19
+ dbname '<%= data["server"]["dbname"] %>',
20
+ host '<%= data["server"]["address"] %>',
21
+ port '<%= data["server"]["port"] %>'
22
+ );
23
+
24
+ -- create user mapping
25
+ CREATE USER MAPPING FOR <%= user %>
26
+ SERVER <%= server %>
27
+ OPTIONS (
28
+ user '<%= data["server"]["username"] %>',
29
+ password '<%= data["server"]["password"] %>'
30
+ );
31
+
32
+ -- creating <%= data["tables"].size %> FDW tables:
33
+ <% data["tables"].each do |table| %>
34
+ <% table_name = table["name"] %>
35
+ -- create foreign table: <%= table_name %>
36
+ DROP foreign table if exists <%= table_name %>;
37
+ CREATE FOREIGN TABLE <%= table_name %> (
38
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
39
+ )
40
+ SERVER <%= server %>
41
+ OPTIONS (
42
+ table_name '<%= table["table_name"]%>'
43
+ );
44
+ <% end %>
@@ -0,0 +1,42 @@
1
+ --------------------------------------
2
+ -- Set up data fusion for:
3
+ -- name: <%= name %>
4
+ -- kind: <%= data["kind"] %>
5
+ -- tables: <%= data["tables"].map{|t| t["name"]}.join(", ") %>
6
+ --------------------------------------
7
+ CREATE extension if not exists redis_fdw;
8
+
9
+
10
+ <%
11
+ server = "#{name}_server"
12
+ %>
13
+
14
+ -- create server object
15
+ DROP server if exists <%= server %> CASCADE;
16
+ CREATE SERVER <%= server %>
17
+ FOREIGN DATA WRAPPER redis_fdw
18
+ OPTIONS (
19
+ address '<%= data["server"]["address"] %>',
20
+ port '<%= data["server"]["port"] %>'
21
+ );
22
+
23
+ -- create user mapping
24
+ CREATE USER MAPPING FOR <%= user %>
25
+ SERVER <%= server %>
26
+ OPTIONS (
27
+ password '<%= data["server"]["password"] %>'
28
+ );
29
+
30
+ -- creating <%= data["tables"].size %> FDW tables:
31
+ <% data["tables"].each do |table| %>
32
+ <% table_name = table["name"] %>
33
+ -- create foreign table: <%= table_name %>
34
+ DROP foreign table if exists <%= table_name %>;
35
+ CREATE FOREIGN TABLE <%= table_name %> (
36
+ <%= table["mapping"].map{ |col, type| " #{col} #{type}"}.join(",\n") %>
37
+ )
38
+ SERVER <%= server %>
39
+ OPTIONS (
40
+ database '<%= table["database"] %>'
41
+ );
42
+ <% end %>
@@ -0,0 +1,21 @@
1
+ require 'erb'
2
+ require 'pathname'
3
+
4
+ KINDS_PATH = Pathname.new(File.expand_path("./kinds", File.dirname(__FILE__)))
5
+ module Datafusion
6
+ class SnippetRenderer
7
+ attr_reader :data, :name, :user
8
+
9
+ def initialize(user, name, data={})
10
+ @erb = ERB.new(File.read(KINDS_PATH.join(data["kind"]+".erb")))
11
+ @data = data
12
+ @name = name
13
+ @user = user
14
+ end
15
+
16
+ def render
17
+ @erb.result(binding)
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,3 @@
1
+ module Datafusion
2
+ VERSION = "0.0.1"
3
+ end
data/lib/datafusion.rb ADDED
@@ -0,0 +1,16 @@
1
+ require "datafusion/version"
2
+ require "datafusion/integrations"
3
+ require "datafusion/snippet_renderer"
4
+
5
+ module Datafusion
6
+ def self.fuse(pguser, file)
7
+ integs = Integrations.load(file)
8
+ out = ""
9
+ integs.each do |k, v|
10
+ erb = SnippetRenderer.new(pguser, k, v)
11
+ out += erb.render()
12
+ end
13
+ out
14
+ end
15
+ end
16
+
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: datafusion
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dotan Nahum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: slop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: colorize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.7
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.7
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.10'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: xxx
84
+ email:
85
+ - jondotan@gmail.com
86
+ executables:
87
+ - datafusion
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".travis.yml"
93
+ - Gemfile
94
+ - Guardfile
95
+ - README.md
96
+ - Rakefile
97
+ - bin/datafusion
98
+ - datafusion.gemspec
99
+ - lib/datafusion.rb
100
+ - lib/datafusion/integrations.rb
101
+ - lib/datafusion/kinds/mailchimp.erb
102
+ - lib/datafusion/kinds/mongodb.erb
103
+ - lib/datafusion/kinds/mysql.erb
104
+ - lib/datafusion/kinds/neo4j.erb
105
+ - lib/datafusion/kinds/parse.erb
106
+ - lib/datafusion/kinds/postgres.erb
107
+ - lib/datafusion/kinds/redis.erb
108
+ - lib/datafusion/snippet_renderer.rb
109
+ - lib/datafusion/version.rb
110
+ homepage: https://github.com/jondot/datafusion
111
+ licenses: []
112
+ metadata: {}
113
+ post_install_message:
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubyforge_project:
129
+ rubygems_version: 2.4.5.1
130
+ signing_key:
131
+ specification_version: 4
132
+ summary: xxx
133
+ test_files: []