Apatite 0.0.1.pre → 0.0.2.pre

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 +4 -4
  2. data/Apatite.rb +26 -41
  3. data/Data/Redis.rb +6 -2
  4. metadata +46 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4864bea9319b626e3d6436e84cc859961cc1f522b14afd2e3d8a164aef443bcd
4
- data.tar.gz: dd49f2c7d9736aa6d4cd5b42123ccedf4766afd342f0ac5f37afa7841f6d83d7
3
+ metadata.gz: cdfcb3d39d1e38c42804288e83ae194c5ab1ad488bf3e732b22cfc720a60d5c8
4
+ data.tar.gz: 12fc2ff98d0abe2fbf86342d888ebba1d7418bc04c39dc55dc5e9d979fe46f9f
5
5
  SHA512:
6
- metadata.gz: 8cf5f335fbb9177a928174646ca829ac5c40a6dc15290a459344df6c8d68fb705440fdea94c6e045a6b344bcfa6d30dd58f7ae8cf26bd4ac4711a66bdfac85bc
7
- data.tar.gz: 6b5563be7ec6ad70285dad035bd8abc7da1017d34f5ccd9d6039bfc5921ee1e2366724e0e4b4a522b0cdf5fe5ce371fc01a2a5d454c4f5152899c6950f53fe2a
6
+ metadata.gz: 210709c0b4c94f87b604e610cbabce24fc31dc3c9d852bc079f14ed1beaac66c4e2f2b11bd8e972072a4a947f278b453900186164a21fe76291de232e0337d12
7
+ data.tar.gz: 8b9c71d3cc95814a107f5674aed0c98a3017c70447befeb1c1ada70625db89a175f5dc9789438e086932db8c1b88e91fc65bb882202bd1f559462bfcaad3824a
data/Apatite.rb CHANGED
@@ -1,49 +1,34 @@
1
1
  require 'rack'
2
- require 'Data/Redis.rb'
3
- require 'Action.rb'
2
+ require_relative 'Data/Redis.rb'
3
+ require_relative 'Action.rb'
4
4
 
5
5
  class Apatite
6
- @app = nil
7
- @redis = Redis.new(@redisURL, @SENTINELS, @role)
8
- @redisURL = nil
9
- @SENTINELS = nil
10
- @role = nil
11
- # Initializes the class
12
- # @param URL
13
- # Redis URL
14
- # @param SENTINELS
15
- # Redis SENTINELS
16
- # @param role
17
- # Redis role
18
- def initialize(URL, SENTINELS=nil, role=:master)
19
- @redisURL = URL
20
- @SENTINELS = SENTINELS
21
- @role = role
6
+ # Initialize application
7
+ def initialize(url=nil,senitels=nil,role=nil)
8
+ @routes = {}
9
+ @redis = Redis.new(:url => url,:senitels => senitels,:role => role)
22
10
  end
23
- def self.app
24
- @app ||= begin
25
- Rack::Builder.new do
26
- map "/" do
27
- run ->(env) {[200, {'Content-Type' => 'text/plain'}, ['Witaj!']] }
28
- end
29
- end
11
+ # Add Route
12
+ # @param http_method
13
+ # GET, POST, PUT, DELETE, PATCH
14
+ # @param path
15
+ # url path
16
+ # @param redirects
17
+ # HTML meta location
18
+ # @param block
19
+ # Route content goes here
20
+ def add_route(http_method, path, redirects={}, &block)
21
+ response = Rack::Response.new
22
+ response.body = block
23
+ if redirects[:location]
24
+ response.headers[“Location”] = redirects[:location]
25
+ response.status = ‘302’
30
26
  end
27
+ @routes[[http_method, path]] = [response.status, response.headers, [response.body]]
31
28
  end
32
- # Call function
33
29
  def call(env)
34
- [200, {"Content-Type" => "text/html"}, ["Witaj!"]]
30
+ Action.new(do
31
+ @routes[[env['REQUEST_METHOD'],env['REQUEST_PATH']]]
32
+ end).call(env)
35
33
  end
36
- end
37
- # Creates a route
38
- def route(pattern, &block)
39
- Apatite.app.map(pattern) do
40
- run Action.new(&block)
41
- end
42
- end
43
-
44
- # To create a route use
45
- # apatite = Apatite.new
46
- # route("/example") do
47
- # "Hello"
48
- # end
49
- # run apatite.app
34
+ end
@@ -7,12 +7,16 @@ class Redis
7
7
  @url = nil
8
8
  @SENTINELS = nil
9
9
  @role = nil
10
- def initialize(URL, SENTINELS, role=:master)
10
+ def initialize(url, sentinels=nil, role=:master)
11
11
  @url = URL
12
12
  @SENTINELS = SENTINELS
13
13
  @role = role
14
14
  end
15
15
  # Redis set
16
+ # @param key
17
+ # Key of the value
18
+ # @param value
19
+ # Value to be set
16
20
  def set(key, value)
17
21
  @redis.set(key, value)
18
22
  end
@@ -24,7 +28,7 @@ class Redis
24
28
  def get(key)
25
29
  return @redis.get(key)
26
30
  end
27
- # Redis set but value is converted from JSON
31
+ # Redis get but value is converted from JSON
28
32
  def getJSON(key)
29
33
  return JSON.parse(@redis.get(key))
30
34
  end
metadata CHANGED
@@ -1,15 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Apatite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre
4
+ version: 0.0.2.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - VirtualFox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-21 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2018-04-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: redis
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.0.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: rack
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.0.4
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.4
13
53
  description:
14
54
  email:
15
55
  executables: []
@@ -22,7 +62,9 @@ files:
22
62
  homepage:
23
63
  licenses:
24
64
  - NGPL
25
- metadata: {}
65
+ metadata:
66
+ source_code_uri: https://gitlab.com/Kuba663/Apatite.git
67
+ source_code_ssh: git@gitlab.com:Kuba663/Apatite.git
26
68
  post_install_message:
27
69
  rdoc_options: []
28
70
  require_paths: