micro_service-server 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6bb2a8f11d02f937ee51603845a6bdab46ae8a5b
4
+ data.tar.gz: 649ba327302cde2266b39cf7369bf25ceb25675a
5
+ SHA512:
6
+ metadata.gz: 55654e06120cdfca91101f82e41ff70c6bca6c7e2653ed57a562142e2d0ad2d34db685c38989c8ea2d8b25e41b74f21b23d0f7cd06ef99852bac34bc1e72c7d1
7
+ data.tar.gz: 6a491c8415b4ddc8e8ce2fbae33f3beb9329bce813c523b29269afeedb164d2aa421858419fab030f6f3fac123ca11f5b97591de6fcc54191ee9a02f1a4944f1
@@ -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/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.0
4
+ before_install: gem install bundler -v 1.11.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in micro_service-server.gemspec
4
+ gemspec
@@ -0,0 +1,47 @@
1
+ [![Gem Version](https://badge.fury.io/rb/micro_service-server.svg)](http://badge.fury.io/rb/micro_service-server)
2
+ [![Build Status](https://travis-ci.org/butchmarshall/ruby-micro_service-server.svg?branch=master)](https://travis-ci.org/butchmarshall/ruby-micro_service-server)
3
+
4
+ # MicroService::Server
5
+
6
+ ActiveRecord MicroService implementation that persists the details of server installations.
7
+
8
+ ## Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ ```ruby
13
+ gem 'micro_service-server'
14
+ ```
15
+
16
+ And then execute:
17
+
18
+ $ bundle
19
+
20
+ Or install it yourself as:
21
+
22
+ $ gem install micro_service-server
23
+
24
+ then run
25
+
26
+ ```ruby
27
+ rails generate micro_service:active_record:server:active_record
28
+ bundle exec rake db:migrate
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ To the ActiveRecord model:
34
+
35
+ ```ruby
36
+ MicroService::Server.new(...)
37
+ ```
38
+
39
+ ## Contributing
40
+
41
+ Bug reports and pull requests are welcome on GitHub at https://github.com/butchmarshall/ruby-micro_service-server.
42
+
43
+
44
+ ## License
45
+
46
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
47
+
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "micro_service/server"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,24 @@
1
+ require "generators/micro_service/server/add_on_generator"
2
+ require "generators/micro_service/server/next_migration_version"
3
+ require "rails/generators/migration"
4
+ require "rails/generators/active_record"
5
+
6
+ # Extend the HasDynamicColumnsGenerator so that it creates an AR migration
7
+ module MicroService
8
+ class Server < ::ActiveRecord::Base
9
+ class ActiveRecordGenerator < ::Jive::AddOn::Generator
10
+ include Rails::Generators::Migration
11
+ extend NextMigrationVersion
12
+
13
+ source_paths << File.join(File.dirname(__FILE__), "templates")
14
+
15
+ def create_migration_file
16
+ migration_template "migration_0.0.1.rb", "db/migrate/add_micro_service_server_0_0_1_migration.rb"
17
+ end
18
+
19
+ def self.next_migration_number(dirname)
20
+ ::ActiveRecord::Generators::Base.next_migration_number dirname
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ module MicroService
2
+ class Server < ::ActiveRecord::Base
3
+ module NextMigrationVersion
4
+ # while methods have moved around this has been the implementation
5
+ # since ActiveRecord 3.0
6
+ def next_migration_number(dirname)
7
+ next_migration_number = current_migration_number(dirname) + 1
8
+ if ::ActiveRecord::Base.timestamped_migrations
9
+ [Time.now.utc.strftime("%Y%m%d%H%M%S"), format("%.14d", next_migration_number)].max
10
+ else
11
+ format("%.3d", next_migration_number)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ require 'rails/generators/base'
2
+ require 'micro_service/server/compatibility'
3
+
4
+ module MicroService
5
+ class Server < ::ActiveRecord::Base
6
+ class Generator < Rails::Generators::Base
7
+ source_paths << File.join(File.dirname(__FILE__), 'templates')
8
+ end
9
+ end
10
+ end
11
+
@@ -0,0 +1,18 @@
1
+ class AddMicroServiceServer001Migration < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :micro_service_servers do |t|
4
+ t.string :client_id
5
+ t.string :secret
6
+ t.string :url
7
+ t.integer :timestamp
8
+ t.boolean :uninstalled
9
+ t.integer :attempt
10
+
11
+ t.timestamps null: false
12
+ end
13
+ end
14
+
15
+ def self.down
16
+ drop_table :micro_service_servers
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ require "active_support"
2
+ require "active_support/dependencies"
3
+ require "active_record"
4
+
5
+ require "micro_service/server/version"
6
+ require "micro_service/server/compatibility"
7
+ require "micro_service/server/class_methods"
8
+ require "micro_service/server/instance_methods"
9
+
10
+ module MicroService
11
+ class Server < ::ActiveRecord::Base
12
+ end
13
+ end
14
+
15
+ MicroService::Server.send :include, MicroService::Server::InstanceMethods
16
+ MicroService::Server.send :extend, MicroService::Server::ClassMethods
@@ -0,0 +1,13 @@
1
+ module MicroService
2
+ class Server < ::ActiveRecord::Base
3
+ module ClassMethods
4
+ def self.extended(base)
5
+ #base.belongs_to :add_on, :class_name => "Jive::AddOn", :foreign_key => :jive_add_on_id
6
+ #base.validates :jive_add_on_id, :presence => true
7
+ #base.has_one :oauth_token, :class_name => "Jive::OauthToken", :as => :owner
8
+ #base.serialize :config, Hash
9
+ #base.after_create :fetch_oauth_token
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,25 @@
1
+ require 'micro_service/server/version'
2
+
3
+ module MicroService
4
+ class Server < ::ActiveRecord::Base
5
+ module Compatibility
6
+ if ActiveSupport::VERSION::MAJOR >= 4
7
+ require 'active_support/proxy_object'
8
+ def self.executable_prefix
9
+ 'bin'
10
+ end
11
+ def self.proxy_object_class
12
+ ActiveSupport::ProxyObject
13
+ end
14
+ else
15
+ require 'active_support/basic_object'
16
+ def self.executable_prefix
17
+ 'script'
18
+ end
19
+ def self.proxy_object_class
20
+ ActiveSupport::BasicObject
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ module MicroService
2
+ class Server < ActiveRecord::Base
3
+ class Configuration
4
+ attr_accessor :url
5
+
6
+ def initialize
7
+ @url = nil
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module MicroService
2
+ class Server < ::ActiveRecord::Base
3
+ module InstanceMethods
4
+ def self.included(base)
5
+ base.table_name = "micro_service_servers"
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ require "active_record"
2
+
3
+ module MicroService
4
+ class Server < ::ActiveRecord::Base
5
+ VERSION = "0.0.1"
6
+ end
7
+ end
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'micro_service/server/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "micro_service-server"
8
+ spec.version = MicroService::Server::VERSION
9
+ spec.authors = ["Butch Marshall"]
10
+ spec.email = ["butch.a.marshall@gmail.com"]
11
+
12
+ spec.summary = "ActiveRecord implementation to store MicroService Servers"
13
+ spec.description = "Stores MicroService Servers so that installs can be tracked"
14
+ spec.homepage = "https://github.com/butchmarshall/micro_service-server"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "activerecord", [">= 3.0", "<= 5.0"]
22
+
23
+ if RUBY_PLATFORM == 'java'
24
+ spec.add_development_dependency "jdbc-sqlite3", "> 0"
25
+ spec.add_development_dependency "activerecord-jdbcsqlite3-adapter", "> 0"
26
+ else
27
+ spec.add_development_dependency "sqlite3", "> 0"
28
+ end
29
+
30
+ spec.add_development_dependency "bigdecimal", "~> 1.1"
31
+ spec.add_development_dependency "database_cleaner"
32
+ spec.add_development_dependency "factory_girl", "> 4.0"
33
+ spec.add_development_dependency "bundler", "~> 1.7"
34
+ spec.add_development_dependency "rake", "~> 10.0"
35
+
36
+ spec.add_development_dependency "rspec"
37
+ spec.add_development_dependency "webmock"
38
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: micro_service-server
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Butch Marshall
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ - - "<="
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: sqlite3
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">"
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">"
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bigdecimal
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.1'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.1'
61
+ - !ruby/object:Gem::Dependency
62
+ name: database_cleaner
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: factory_girl
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">"
80
+ - !ruby/object:Gem::Version
81
+ version: '4.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">"
87
+ - !ruby/object:Gem::Version
88
+ version: '4.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: bundler
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.7'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.7'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rake
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '10.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '10.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rspec
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: webmock
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ description: Stores MicroService Servers so that installs can be tracked
146
+ email:
147
+ - butch.a.marshall@gmail.com
148
+ executables: []
149
+ extensions: []
150
+ extra_rdoc_files: []
151
+ files:
152
+ - ".gitignore"
153
+ - ".rspec"
154
+ - ".travis.yml"
155
+ - Gemfile
156
+ - README.md
157
+ - Rakefile
158
+ - bin/console
159
+ - bin/setup
160
+ - lib/generators/micro_service/server/active_record_generator.rb
161
+ - lib/generators/micro_service/server/next_migration_version.rb
162
+ - lib/generators/micro_service/server/server_generator.rb
163
+ - lib/generators/micro_service/server/templates/migration_0.0.1.rb
164
+ - lib/micro_service/server.rb
165
+ - lib/micro_service/server/class_methods.rb
166
+ - lib/micro_service/server/compatibility.rb
167
+ - lib/micro_service/server/configuration.rb
168
+ - lib/micro_service/server/instance_methods.rb
169
+ - lib/micro_service/server/version.rb
170
+ - micro_service-active_record-server.gemspec
171
+ homepage: https://github.com/butchmarshall/micro_service-server
172
+ licenses: []
173
+ metadata: {}
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubyforge_project:
190
+ rubygems_version: 2.4.6
191
+ signing_key:
192
+ specification_version: 4
193
+ summary: ActiveRecord implementation to store MicroService Servers
194
+ test_files: []