praktiz 0.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/praktiz/base.rb +81 -0
  3. data/lib/praktiz.rb +1 -0
  4. metadata +60 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b72561782edcd65cbe8b7c56fb19b2b595c6f0eb
4
+ data.tar.gz: 8e754336c2531973f0da432480d5fc53ccc5f78c
5
+ SHA512:
6
+ metadata.gz: fe982a5b0d527c03d11152110d8a696fbe75595e8a20b7c2d0610bb9ff3bde284a2e00255b5f7347ba53e602421c34b05ea0fa19777c90da91f924f919b9a076
7
+ data.tar.gz: 5c6fd0e4c188ffa4652e5c40b0dacae6f07ce8e1e8eaeec93a6d6757b0cab3dc50f631804a097f0d0355371db5b6017de471816073d09c0fa748a6cfee8703ce
@@ -0,0 +1,81 @@
1
+ require 'mushin'
2
+ #require 'praktiz-redis'
3
+ module Praktiz
4
+ module Persistence
5
+ module DS
6
+ def self.load id
7
+ raise NotImplementedError
8
+ end
9
+ end
10
+ #raise "Must include a Persistence Repository Middleware"
11
+ end
12
+ module Middleware
13
+ include Mushin::Domain::Middleware
14
+ end
15
+ module DSL
16
+ include Mushin::DSL
17
+ def self.find activity_context, activity_statment
18
+ Mushin::DSL.middlewares = []
19
+ Mushin::DSL.contexts.each do |current_context|
20
+ if activity_context == current_context.title
21
+ current_context.statments.each do |statment|
22
+ if activity_statment == statment.title
23
+ statment.activations.each do |middleware|
24
+ Mushin::DSL.middlewares << middleware
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ Mushin::DSL.middlewares
31
+ end
32
+ end
33
+ module Engine
34
+ extend Mushin::Engine
35
+ class << self
36
+ def run domain_context, activity
37
+ @stack = Mushin::Middleware::Builder.new do
38
+ (Praktiz::DSL.find domain_context, activity).each do |middleware|
39
+ p "Praktiz Logging: use " + middleware.name.to_s + " " + middleware.opts.to_s + " " + middleware.params.to_s
40
+ use middleware.name, middleware.opts, middleware.params
41
+ end
42
+ end
43
+ @setup_middlewares.each do |setup_middleware|
44
+ @stack.insert_before 0, setup_middleware
45
+ end
46
+ @stack.call
47
+ end
48
+ end
49
+ end
50
+ class Env
51
+ extend Mushin::Env
52
+
53
+ class << self
54
+ attr_accessor :id
55
+ def get id
56
+ Praktiz::Persistence::DS.load id.to_s + "praktiz"
57
+ end
58
+
59
+ def set id, &block
60
+ @id = id.to_s + "praktiz"
61
+ def on domain_context, &block
62
+ @domain_context = domain_context
63
+ @activities = []
64
+ def activity statment
65
+ @activities += [statment]
66
+ end
67
+ instance_eval(&block)
68
+ end
69
+ instance_eval(&block)
70
+
71
+ Dir["./praktiz/*"].each {|file| load file }
72
+
73
+ Praktiz::Engine.setup [Object.const_get('Praktiz::Persistence::DS')]
74
+ @activities.each do |activity|
75
+ Praktiz::Engine.run @domain_context, activity
76
+ end
77
+ return Praktiz::Persistence::DS.load @id
78
+ end
79
+ end
80
+ end
81
+ end
data/lib/praktiz.rb ADDED
@@ -0,0 +1 @@
1
+ require 'praktiz/base'
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: praktiz
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.pre1
5
+ platform: ruby
6
+ authors:
7
+ - ''
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mushin
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: ''
28
+ email:
29
+ - ''
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/praktiz.rb
35
+ - lib/praktiz/base.rb
36
+ homepage: ''
37
+ licenses:
38
+ - ''
39
+ metadata: {}
40
+ post_install_message:
41
+ rdoc_options: []
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">"
52
+ - !ruby/object:Gem::Version
53
+ version: 1.3.1
54
+ requirements: []
55
+ rubyforge_project:
56
+ rubygems_version: 2.2.2
57
+ signing_key:
58
+ specification_version: 4
59
+ summary: ''
60
+ test_files: []