datafusion 0.0.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.
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: []