utter 1.0.9 → 1.0.10
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 +4 -4
- data/README.md +11 -6
- data/Rakefile +2 -2
- data/lib/internals/core/microservice.rb +1 -1
- data/lib/internals/core/store.rb +3 -0
- data/lib/internals/testing/model_delete.rb +2 -0
- data/lib/internals/testing/spec.rb +2 -0
- data/lib/utter.rb +1 -1
- data/samples/upjoystream::v1::torrents/Gemfile +2 -1
- data/samples/upjoystream::v1::torrents/Gemfile.lock +2 -20
- data/samples/upjoystream::v1::torrents/config.ru +6 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce1746eb133b418d06928a46dcb4ba7c1227ddaa
|
4
|
+
data.tar.gz: 3c3d9e10af642750980947c6d12f3951660f2714
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0d25e36beb08ccb90ca5610163153abcf0b0c5a961d4c07c42ceaf159f6f71168085fe0b42d10dc42039ac95a4df9b00acb9f336470c83aa456e9d180c3c62d
|
7
|
+
data.tar.gz: ca5d90015063a0a97241ea7e4a4cd6f5cbe633e9ba4bb9692ac14c59f9ad292080018d55ce760b053eeedd7a7350308e2dd94992bf51f121f3fe8d20ad457132
|
data/README.md
CHANGED
@@ -5,15 +5,16 @@ Utter is a Domain-specific Microservices Framework written in Ruby for building
|
|
5
5
|
|
6
6
|
What is a Domain-specific Microservice?
|
7
7
|
========================================
|
8
|
+
|
9
|
+
|
8
10
|
A domain is an area of knowledge such as an industry field or a subject of interest.
|
9
11
|
Building an application often requires the utilization of knowledge from a number of different domains.
|
12
|
+
Designing your "Application" on the premise that any authorized entity can utilize the knowledge of a specific domain via interacting with a domain-specific microservice that can do two things, consume messeges and produce messeges.
|
10
13
|
|
11
|
-
Utter as a tool is used to manifest the implementation of an Application Model into a number of isolated domains, each refereed to as
|
14
|
+
Utter as a tool is used to manifest the implementation of an Application Model into a number of isolated domains, each refereed to as an `Utter Domain-specific Microservice`, or an `Utter Service` for short.
|
12
15
|
|
13
|
-
|
14
|
-
Such isolation supports the inhabitance of autonomous small teams.
|
15
|
-
|
16
|
-
Autonomous small teams are more capable of defining and hence understanding the problems involved within a bounded-context domain.
|
16
|
+
An `Utter Service` provides an isolation of a domain via defining its bounded context within a single service.
|
17
|
+
Such isolation supports the inhabitance of autonomous small teams. Such teams are more capable of defining and hence understanding the problems involved within a bounded-context domain, moreover utilizting any domain knowledge that already exist of this domain (see Mushin).
|
17
18
|
|
18
19
|
As business-inhereted intricate problems on domain basis it is easier to define domain basis as opposed to the much more difficult to define application-as-a-whole basis.
|
19
20
|
|
@@ -63,7 +64,11 @@ Example
|
|
63
64
|
Rules allow us to represent certain kinds of knowledge that are difficult to employ a conventional procedural program.
|
64
65
|
Rule-based programs also separate the knowledge from the rest of the program in such a way that a change in the knowledge base is not propagated throughout the program like a change in a procedural program can be.
|
65
66
|
|
66
|
-
|
67
|
+
Microservice Documentation
|
68
|
+
==========================
|
69
|
+
Utter under the hood uses sinatra gem to auto-generate an live interactive documentation from your code comments, in example
|
70
|
+
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
|
+
each user can read it and send json from the documentation pages to your live api.
|
67
72
|
|
68
73
|
What's Utter Main UseCase?
|
69
74
|
===========================
|
data/Rakefile
CHANGED
@@ -2,9 +2,9 @@ require "bundler/gem_tasks"
|
|
2
2
|
require "rake/testtask"
|
3
3
|
|
4
4
|
Rake::TestTask.new(:test) do |t|
|
5
|
-
t.libs << "
|
5
|
+
t.libs << "spec"
|
6
6
|
t.libs << "lib"
|
7
|
-
t.test_files = FileList['
|
7
|
+
t.test_files = FileList['spec/**/*_spec.rb']
|
8
8
|
end
|
9
9
|
|
10
10
|
task :default => :test
|
@@ -4,7 +4,7 @@ require 'sinatra'
|
|
4
4
|
require "sinatra/json"
|
5
5
|
require 'securerandom'
|
6
6
|
require 'sinatra/cross_origin'
|
7
|
-
require 'net/http' # Net::HTTP.get('example.com', '/index.html') # => String
|
7
|
+
#require 'net/http' #TODO not needed as calling other services is done in Utter Domain Extensions, Net::HTTP.get('example.com', '/index.html') # => String
|
8
8
|
|
9
9
|
module Utter
|
10
10
|
module Internals
|
data/lib/internals/core/store.rb
CHANGED
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.
|
19
|
+
VERSION = "1.0.10"
|
20
20
|
|
21
21
|
$log = Logger.new(STDOUT)
|
22
22
|
|
@@ -1,31 +1,13 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
rack (1.6.4)
|
6
|
-
rack-protection (1.5.3)
|
7
|
-
rack
|
8
|
-
sinatra (1.4.7)
|
9
|
-
rack (~> 1.5)
|
10
|
-
rack-protection (~> 1.4)
|
11
|
-
tilt (>= 1.3, < 3)
|
12
|
-
sinatra-cross_origin (0.3.2)
|
13
|
-
sinatra-json (0.1.0)
|
14
|
-
multi_json (~> 1.0)
|
15
|
-
sinatra (~> 1.0)
|
16
|
-
ssd (0.1.4)
|
17
|
-
tilt (2.0.5)
|
18
|
-
utter (1.0.5)
|
19
|
-
sinatra
|
20
|
-
sinatra-cross_origin
|
21
|
-
sinatra-json
|
22
|
-
ssd
|
4
|
+
rack (2.0.1)
|
23
5
|
|
24
6
|
PLATFORMS
|
25
7
|
ruby
|
26
8
|
|
27
9
|
DEPENDENCIES
|
28
|
-
|
10
|
+
rack
|
29
11
|
|
30
12
|
RUBY VERSION
|
31
13
|
ruby 2.3.1p112
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# config.ru (run with rackup)
|
2
|
-
|
2
|
+
#begin
|
3
3
|
# require 'rack/show_exceptions'
|
4
4
|
#rescue LoadError
|
5
|
-
# require 'rack/showexceptions'
|
5
|
+
# # require 'rack/showexceptions'
|
6
6
|
#end
|
7
|
-
require 'bundler/setup'
|
8
|
-
Bundler.require(:default)
|
7
|
+
#require 'bundler/setup'
|
8
|
+
#Bundler.require(:default)
|
9
9
|
|
10
|
-
require 'utter'
|
11
|
-
|
10
|
+
#require 'utter'
|
11
|
+
require_relative './../../lib/utter'
|
12
12
|
Dir[File.dirname(__FILE__) + 'domain/lib/*.rb'].each {|file| require file }
|
13
13
|
Dir[File.dirname(__FILE__) + 'microservice/lib/*.rb'].each {|file| require file }
|
14
14
|
|