utter 1.0.11 → 1.0.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6be512cec38a463f18416795e951d283a76c350
4
- data.tar.gz: 8eefd2f2954a0e382ffb9405d3945793760f99f4
3
+ metadata.gz: cdf2b5c8c75676a9605a818673f990b68474ffe3
4
+ data.tar.gz: eab9137f7b86d03b26f1dccd28abd7687c0d3c5b
5
5
  SHA512:
6
- metadata.gz: f8a0b83279afe7fbd16459df3b11026f3f0d6aa883d14fb2eda0e285b2164f86a06b1a49b9fcbe1471521af9cc0aa1bb1facfe9c998aec9df5ad89e24cb9c446
7
- data.tar.gz: a3d109d82928cbe87f1d0f0c2ebf96fb99756fba22baaa4199383715303ce45001535ddfc820ee325427106ad09715642c20666c9c551fd8ff5b4f6cc2e9f311
6
+ metadata.gz: 79f51c198aefd0586da59a5550ca214eef5829c2ba97936013ef38faa98c0d082ec0e0d99a5c1ae19a74976bc7ba6dc61baff7a034698281ce194bd029d7ad7e
7
+ data.tar.gz: 3c3a04af7302911994775a69ccae096b46ffc04f8b01918d2b78d1d588f30826de8423c52fb07807d0d85ce49dcbd07328c2224450912c56ec737509c6558995
data/README.md CHANGED
@@ -66,10 +66,20 @@ Rule-based programs also separate the knowledge from the rest of the program in
66
66
 
67
67
  Microservice Documentation
68
68
  ==========================
69
+ TODO Checkout Thor soucecode to see how they implment Desc methods to make it similar to generate documentation.
70
+ TODO Also checkout grape sourcecode
69
71
  Utter under the hood uses sinatra gem to auto-generate an live interactive documentation from your code comments, in example
70
72
  if you mount your microservice on api.mystartup.com/v1/products the live interactive documenations will be auto-generated on api.mystartup/v1/products/docs
71
73
  each user can read it and send json from the documentation pages to your live api.
72
74
 
75
+ URL: http://nameko.readthedocs.io/en/stable/about_microservices.html#single-purpose
76
+
77
+ UseCases
78
+ =========
79
+ if your enviroment is a polygot of microservcies with different technologies and languages, Utter is the one you should use if you want to write Ruby code.
80
+
81
+ Somthing like Uber can use Utter to the mess of their system. Utter will divide their system on domain basis, provide their engineers with Rule-based communication to other services, and a dramatically smaller number of services (using domain design as guideline for isolating services)! https://eng.uber.com/soa/
82
+ https://eng.uber.com/building-tincup/
73
83
  What's Utter Main UseCase?
74
84
  ===========================
75
85
  WRITING EFFECTIVE USE CASES: http://alistair.cockburn.us/get/2465
data/bin/cli.rb ADDED
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "thor"
4
+ require_relative 'quotes'
5
+ require_relative 'generators'
6
+
7
+ module Utter
8
+ #This directory contains common microservice templates
9
+ #- auth microservice template
10
+ #- logging microservice template
11
+ #- admin microservice template
12
+ #
13
+ #- User generate a template and specifiy certain attr to customize the template to their own needs.
14
+ #- User then use/further developm the generated microservice.
15
+ class CLI < Thor
16
+ include Utter::Quotes
17
+
18
+ no_commands do
19
+ def seprator
20
+ puts (" ")
21
+ puts("-------------------------------------------------------------------------------")
22
+ puts(" ")
23
+ end
24
+ end
25
+
26
+ utter_banner
27
+ # Generates a microservice
28
+ desc "microservice", "Generates an utter microservice project"
29
+ def microservice
30
+ microservices_quotes
31
+
32
+ seprator
33
+
34
+ info = set_color(" INFO ", :green, :on_white, :bold)
35
+ message = " e.g. api.github.com/v1/repos "
36
+ puts (info + message)
37
+
38
+ project_name = ask(set_color("Organization/Project Name, e.g. 'github': ", :bold))
39
+
40
+ api_version = ask(set_color("API Version, e.g. 'v1': ",:bold))
41
+
42
+ service_name = ask(set_color("Microservice Name, e.g. 'repos': ", :bold))
43
+
44
+ seprator
45
+
46
+ path = "./#{project_name}::#{api_version}::#{service_name}"
47
+
48
+ params = {:path => path, :module_name => project_name, :ext_name => service_name}
49
+
50
+ generator = Utter::Generators::Microservice.new
51
+ generator.destination_root = path
52
+
53
+ generator.create_microservice_directory_structure
54
+ generator.create_domain_directory_structure
55
+ generator.create_configru(params)
56
+ generator.create_gemfile(params)
57
+
58
+ #generator.create_domain_directory ({:path => path, :module_name => project_name, :ext_name => service_name})
59
+ #generator.invoke_all
60
+
61
+ message = set_color " DONE ", :green, :on_white, :bold
62
+ motive = set_color " You're Awesome!" + " ", :yellow
63
+ say(message + motive)
64
+ say("run `bundle install; bundle exec rackup`")
65
+ end
66
+
67
+ =begin
68
+ say("Configure SSL now?")
69
+ choices = ["YES","NO"]
70
+ choices = choices.map.with_index{ |a, i| [i+1, *a]}
71
+ print_table choices
72
+ selection = ask("Answer:", :green).to_i
73
+ p selection
74
+ =end
75
+
76
+ # Generates a domain ext
77
+ desc "ext", "Generates an utter domain extension in your domain/lib/ directory"
78
+ def ext module_name, ext_name
79
+ ddd_quotes
80
+ params = {:path => path, :module_name => project_name, :ext_name => service_name}
81
+ generator = Utter::Generators::Ext.new
82
+ generator.create_ext params={}
83
+ #generator.invoke_all
84
+ end
85
+
86
+ # Generates a consumer domain ext to talk to other services
87
+ desc "consumer", "Generates an utter consumer domain extension to talk to other services in your domain/lib/ directory"
88
+ def consumer module_name="Consumer", ext_name
89
+ end
90
+
91
+ # Generates a consumer domain ext to talk to other services
92
+ desc "auth", "Generates an utter auth microservice"
93
+ def auth module_name="Consumer", ext_name
94
+ end
95
+
96
+ end
97
+ end
98
+
99
+ Utter::CLI.start
100
+ #Ext.new.generate "DomainName", "Lapse"
data/bin/generators.rb ADDED
@@ -0,0 +1,93 @@
1
+ require 'thor'
2
+ require 'thor/group'
3
+
4
+ module Utter
5
+ module Generators
6
+ # Usage
7
+ # generator = Utter::Generators::Microservice.new
8
+ # generator.destination_root = path #optional, will use current directory by default
9
+ # generator.invoke_all
10
+ class Microservice < Thor::Group
11
+ include Thor::Actions
12
+ desc 'Generate an utter microservice directory structure'
13
+
14
+ def create_microservice_directory_structure
15
+ #empty_directory 'microservice'
16
+ empty_directory 'microservice/lib'
17
+ empty_directory 'microservice/spec'
18
+ end
19
+
20
+ def create_domain_directory_structure
21
+ #empty_directory 'domain'
22
+ empty_directory 'domain/lib'
23
+ empty_directory 'domain/spec'
24
+ end
25
+
26
+ def create_configru params={}
27
+ create_file "config.ru"
28
+ @file = <<-FOO
29
+ Dir[File.dirname(__FILE__) + '/microservice/**/*.rb'].each {|file| require file }
30
+ Dir[File.dirname(__FILE__) + '/domain/**/*.rb'].each {|file| require file }
31
+
32
+ map "/" do
33
+ run Sonopace::API::Status
34
+ end
35
+
36
+ FOO
37
+
38
+ open("#{params[:path]}/config.ru", 'a') do |f|
39
+ f.puts @file
40
+ end
41
+ end
42
+
43
+ def create_gemfile params={}
44
+ create_file "Gemfile"
45
+ @file = <<-FOO
46
+ source 'https://rubygems.org'
47
+ gem 'utter'
48
+ FOO
49
+
50
+ open("#{params[:path]}/Gemfile", 'a') do |f|
51
+ f.puts @file
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+ class Ext < Thor::Group
58
+ include Thor::Actions
59
+ desc 'Generate an utter domain extension'
60
+
61
+ def create_ext params={}
62
+ @module_name = params[:module_name].downcase
63
+ @ext_name = params[:ext_name].downcase
64
+
65
+ create_file "domain/lib/#{@ext_name.downcase}.rb"
66
+ @file = <<-FOO
67
+ module #{@module_name.capitalize}
68
+ VERSION = "0.0.0"
69
+ class #{@ext_name.capitalize}
70
+ def initialize(app, opts={}, params={})
71
+ @app = app
72
+ @opts = opts
73
+ @params = params
74
+ end
75
+
76
+ def call(env)
77
+ #TODO manipulate value objects, before passing to the stack!
78
+ @app.call(env)
79
+ #TODO manipulate value objects, after passing to the stack!
80
+ end
81
+ end
82
+ end
83
+ FOO
84
+
85
+ open("domain/lib/#{@ext_name.downcase}.rb", 'a') do |f|
86
+ f.puts @file
87
+ end
88
+ end
89
+
90
+ end
91
+
92
+ end
93
+ end
data/bin/quotes.rb ADDED
@@ -0,0 +1,171 @@
1
+ module Utter
2
+ module Quotes
3
+
4
+ def self.included(klass)
5
+ klass.extend self
6
+ end
7
+
8
+
9
+
10
+ # Design qoutes
11
+ @@design_qoutes= [
12
+ "Good Design Is Innovative ~ Dieter Rams",
13
+ "Good Design Makes a Product Useful ~ ",
14
+ "Good Design Is Aesthetic ~ ",
15
+ "Good Design Is Unobtrusive ~ ",
16
+ "Good Design Is Honest ~ ",
17
+ "Good Design Is Long-lasting ~ ",
18
+ "Good Design Is Thorough Down to the Last Detail ~ ",
19
+ "Good Design Is Environmentally Friendly ~ ",
20
+ "Good Design Is as Little Design as Possible ~ ",
21
+ "Good Design Makes A Product Understandable ~ "]
22
+
23
+ # Display microservices qoutes
24
+ @@microservices_quotes = [
25
+ "Microservices are important simply because they add unique value in a way of simplification of complexity in systems.",
26
+ "By breaking apart your system or application into many smaller parts, you show ways of reducing duplication, increasing cohesion and lowering your coupling between parts, thus making your overall system parts easier to understand, more scalable, and easier to change.",
27
+ "The downside of a distributed system is that it is always more complex from a systems standpoint. The overhead of many small services to manage is another factor to consider.",
28
+ "One of the biggest problems with Microservices is the dependencies and challenges with designing services to not be all-in dependent on each other and the solutions to this."]
29
+
30
+ # Domain Driven Design qoutes
31
+ @@ddd_quotes = [
32
+ "“The indirectness of communication conceals the formation of schisms—different team members use terms differently but don’t realize it.”
33
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
34
+
35
+ "“The effort of translation prevents the interplay of knowledge and ideas that lead to deep model insights.”
36
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
37
+
38
+ "“By using the model-based language pervasively and not being satisfied until it flows, we approach a model that is complete and comprehensible, made up of simple elements that combine to express complex ideas.”
39
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
40
+
41
+ "“Every software program relates to some activity or interest of its user.”
42
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
43
+
44
+ "“A model is a selectively simplified and consciously structured form of knowledge.”
45
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
46
+
47
+ "“Success comes in an emerging set of abstract concepts that makes sense of all the detail. This distillation is a rigorous expression of the particular knowledge that has been found most relevant.”
48
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
49
+
50
+ "“The heart of software is its ability to solve domain-related problems for its user.”
51
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
52
+
53
+ "“In the old waterfall method, the business experts talk to the analysts, and analysts digest and abstract and pass the result along to the programmers, who code the software. This approach fails because it completely lacks feedback.”
54
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
55
+
56
+ "“Knowledge trickles in one direction, but does not accumulate.”
57
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
58
+
59
+ "“That shallowness of knowledge produces software that does a basic job but lacks a deep connection to the domain expert’s way of thinking.”
60
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
61
+
62
+ "“Diagrams are a means of communication and explanation, and they facilitate brainstorming. They serve these ends best if they are minimal.”
63
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
64
+
65
+ "“They show design constraints, but they are not design specifications in every detail. They represent the skeletons of ideas.”
66
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
67
+
68
+ "“the model is not the diagram.”
69
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
70
+
71
+ "“The behavior of running code is unambiguous.”
72
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
73
+
74
+ "“documenting exclusively through code has some of the same basic problems as using comprehensive UML diagrams.”
75
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
76
+
77
+ "“A document shouldn’t try to do what the code already does well.”
78
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
79
+
80
+ "“Written documents should complement the code and the talking.”
81
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
82
+
83
+ "“you may hear the UBIQUITOUS LANGUAGE changing naturally while a document is being left behind.”
84
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
85
+
86
+ "“It takes fastidiousness to write code that doesn’t just do the right thing but also says the right thing.”
87
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
88
+
89
+ "“To communicate effectively, the code must be based on the same language used to write the requirements—the same language that the developers speak with each other and with domain experts.”
90
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
91
+
92
+ "“There is no need for explanatory models to be object models, and it is generally best if they are not.”
93
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
94
+
95
+ "“The astrolabe was a mechanical implementation of an object-oriented model of the sky.”
96
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
97
+
98
+ "“crucial discoveries always emerge during the design/implementation effort.”
99
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
100
+
101
+ "“If the design, or some central part of it, does not map to the domain model, that model is of little value, and the correctness of the software is suspect.”
102
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
103
+
104
+ "“The heart of software is its ability to solve domain-related problems for its user. All other features, vital though they may be, support this basic purpose. When the domain is complex, this is a difficult task, calling for the concentrated effort of talented and skilled people. Developers have to steep themselves in the domain to build up knowledge of the business. They must hone their modeling skills and master domain design. Yet these are not the priorities on most software projects. Most talented developers do not have much interest in learning about the specific domain in which they are working, much less making a major commitment to expand their domain-modeling skills. Technical people enjoy quantifiable problems that exercise their technical skills. Domain work is messy and demands a lot of complicated new knowledge that doesn’t seem to add to a computer scientist’s capabilities. Instead, the technical talent goes to work on elaborate frameworks, trying to solve domain problems with technology. Learning about and modeling the domain is left to others. Complexity in the heart of software has to be tackled head-on. To do otherwise is to risk irrelevance.”
105
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
106
+
107
+ "“When we set out to write software, we never know enough.”
108
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
109
+
110
+ "“The vital detail about the design is captured in the code. A well-written implementation should be transparent, revealing the model underlying it.”
111
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
112
+
113
+ "“there should be some learning when a domain model is discussed.”
114
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
115
+
116
+
117
+ "“The domain experts had learned more and had clarified the goal of the application.”
118
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
119
+
120
+ "“The kind of knowledge captured in a model such as the PCB example goes beyond “find the nouns.”
121
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
122
+
123
+
124
+ "“Business activities and rules are as central to a domain as are the entities involved; any domain will have various categories of concepts.”
125
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
126
+
127
+ "“Knowledge crunching is an exploration, and you can’t know where you will end up.”
128
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software",
129
+
130
+
131
+ "“Translation muddles model concepts, which leads to destructive refactoring of code.”
132
+ ― Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software"
133
+
134
+ ]
135
+
136
+ def method_missing(m, *args, &block)
137
+ case m
138
+
139
+ when :utter_banner
140
+ extend Thor::Shell
141
+ utter_title = set_color " Utter ", :red, :on_white, :bold
142
+ utter_version = set_color Utter::VERSION + " ", :black, :on_white, :bold
143
+ say(utter_title + utter_version )
144
+
145
+ return # back to the calling routine
146
+
147
+ when :about_utter
148
+ #say("Utter is a Domain-specific Microservices Framework written in Ruby for building both regular and advanced Rule-based web APIs")
149
+
150
+ when :ddd_quotes
151
+ quote = @@ddd_quotes.sample
152
+
153
+ when :design_qoutes
154
+ quote = @@design_quotes.sample
155
+
156
+ when :microservices_quotes
157
+ quote = @@microservices_quotes.sample
158
+
159
+ else
160
+ puts " Utter doesn't know #{m} -- please try again."
161
+ end
162
+
163
+ def wrap(s, width=75)
164
+ s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n")
165
+ end
166
+
167
+ say(wrap(quote))
168
+ end
169
+
170
+ end
171
+ end
data/lib/utter.rb CHANGED
@@ -16,7 +16,7 @@ module Utter
16
16
  # MAJOR version when you make incompatible API changes,
17
17
  # MINOR version when you add functionality in a backwards-compatible manner, and
18
18
  # PATCH version when you make backwards-compatible bug fixes.
19
- VERSION = "1.0.11"
19
+ VERSION = "1.0.12"
20
20
 
21
21
  $log = Logger.new(STDOUT)
22
22
 
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
  ruby '2.3.1'
3
3
 
4
4
  gem 'rack'
5
- #gem 'utter'
5
+ gem 'utter'
@@ -1,13 +1,54 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- rack (2.0.1)
4
+ coderay (1.1.1)
5
+ ibsciss-middleware (0.4.1)
6
+ method_source (0.8.2)
7
+ minitest (5.9.1)
8
+ multi_json (1.12.1)
9
+ mushin (0.1.0)
10
+ ibsciss-middleware (~> 0.3)
11
+ pry (0.10.4)
12
+ coderay (~> 1.1.0)
13
+ method_source (~> 0.8.1)
14
+ slop (~> 3.4)
15
+ puma (3.6.0)
16
+ rack (1.6.4)
17
+ rack-protection (1.5.3)
18
+ rack
19
+ rack-test (0.6.3)
20
+ rack (>= 1.0)
21
+ rake (11.3.0)
22
+ sinatra (1.4.7)
23
+ rack (~> 1.5)
24
+ rack-protection (~> 1.4)
25
+ tilt (>= 1.3, < 3)
26
+ sinatra-cross_origin (0.3.2)
27
+ sinatra-json (0.1.0)
28
+ multi_json (~> 1.0)
29
+ sinatra (~> 1.0)
30
+ slop (3.6.0)
31
+ thor (0.19.1)
32
+ tilt (2.0.5)
33
+ utter (1.0.11)
34
+ bundler
35
+ minitest
36
+ mushin
37
+ pry
38
+ puma
39
+ rack-test
40
+ rake
41
+ sinatra
42
+ sinatra-cross_origin
43
+ sinatra-json
44
+ thor
5
45
 
6
46
  PLATFORMS
7
47
  ruby
8
48
 
9
49
  DEPENDENCIES
10
50
  rack
51
+ utter
11
52
 
12
53
  RUBY VERSION
13
54
  ruby 2.3.1p112
@@ -7,10 +7,19 @@
7
7
  #require 'bundler/setup'
8
8
  #Bundler.require(:default)
9
9
 
10
- #require 'utter'
11
- require_relative './../../lib/utter'
12
- Dir[File.dirname(__FILE__) + 'domain/lib/*.rb'].each {|file| require file }
13
- Dir[File.dirname(__FILE__) + 'microservice/lib/*.rb'].each {|file| require file }
10
+ require 'utter'
11
+ #require_relative './../../lib/utter'
12
+ #
13
+ Dir["domain/lib/**/*.rb"].each do |file|
14
+ p file
15
+ require_relative file
16
+ end
17
+
18
+ Dir["microservice/lib/**/*.rb"].each do |file|
19
+ p file
20
+ require_relative file
21
+ end
22
+
14
23
 
15
24
  map('/') do
16
25
  run API::V1::Torrents
@@ -7,6 +7,9 @@ module API
7
7
  get '/' do
8
8
  "public info"
9
9
  "private info (eyes only)"
10
+ Utter::Stack.new do
11
+ use Echo, "this is my message"
12
+ end
10
13
  end
11
14
  #run! if app_file == $0
12
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - zotherstupidguy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-02 00:00:00.000000000 Z
11
+ date: 2016-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -329,15 +329,15 @@ extra_rdoc_files: []
329
329
  files:
330
330
  - ".gitignore"
331
331
  - ".travis.yml"
332
- - CODE_OF_CONDUCT.md
333
332
  - Gemfile
334
- - LICENSE.txt
335
333
  - README.md
336
334
  - Rakefile
335
+ - bin/cli.rb
337
336
  - bin/console
338
- - bin/scaffold.rb
337
+ - bin/generators.rb
338
+ - bin/highline.rb
339
+ - bin/quotes.rb
339
340
  - bin/setup
340
- - bin/templates/README.md
341
341
  - lib/internals/core/auth.rb
342
342
  - lib/internals/core/microservice.rb
343
343
  - lib/internals/core/service_discovery.rb
data/CODE_OF_CONDUCT.md DELETED
@@ -1,49 +0,0 @@
1
- # Contributor Code of Conduct
2
-
3
- As contributors and maintainers of this project, and in the interest of
4
- fostering an open and welcoming community, we pledge to respect all people who
5
- contribute through reporting issues, posting feature requests, updating
6
- documentation, submitting pull requests or patches, and other activities.
7
-
8
- We are committed to making participation in this project a harassment-free
9
- experience for everyone, regardless of level of experience, gender, gender
10
- identity and expression, sexual orientation, disability, personal appearance,
11
- body size, race, ethnicity, age, religion, or nationality.
12
-
13
- Examples of unacceptable behavior by participants include:
14
-
15
- * The use of sexualized language or imagery
16
- * Personal attacks
17
- * Trolling or insulting/derogatory comments
18
- * Public or private harassment
19
- * Publishing other's private information, such as physical or electronic
20
- addresses, without explicit permission
21
- * Other unethical or unprofessional conduct
22
-
23
- Project maintainers have the right and responsibility to remove, edit, or
24
- reject comments, commits, code, wiki edits, issues, and other contributions
25
- that are not aligned to this Code of Conduct, or to ban temporarily or
26
- permanently any contributor for other behaviors that they deem inappropriate,
27
- threatening, offensive, or harmful.
28
-
29
- By adopting this Code of Conduct, project maintainers commit themselves to
30
- fairly and consistently applying these principles to every aspect of managing
31
- this project. Project maintainers who do not follow or enforce the Code of
32
- Conduct may be permanently removed from the project team.
33
-
34
- This code of conduct applies both within project spaces and in public spaces
35
- when an individual is representing the project or its community.
36
-
37
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
- reported by contacting a project maintainer at zotherstupidguy@gmail.com. All
39
- complaints will be reviewed and investigated and will result in a response that
40
- is deemed necessary and appropriate to the circumstances. Maintainers are
41
- obligated to maintain confidentiality with regard to the reporter of an
42
- incident.
43
-
44
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
- version 1.3.0, available at
46
- [http://contributor-covenant.org/version/1/3/0/][version]
47
-
48
- [homepage]: http://contributor-covenant.org
49
- [version]: http://contributor-covenant.org/version/1/3/0/
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 zotherstupidguy
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1,7 +0,0 @@
1
- This directory contains common microservice templates
2
- - auth microservice template
3
- - logging microservice template
4
- - admin microservice template
5
-
6
- - User generate a template and specifiy certain attr to customize the template to their own needs.
7
- - User then use/further developm the generated microservice.
File without changes