fringe 0.0.11
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 +7 -0
- data/.gitignore +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +19 -0
- data/README.md +2 -0
- data/Rakefile +10 -0
- data/bin/fringe +22 -0
- data/bin/scaffold/Gemfile +3 -0
- data/bin/scaffold/app/controllers/.gitignore +0 -0
- data/bin/scaffold/app/models/.gitignore +0 -0
- data/bin/scaffold/app/routes.rb +3 -0
- data/bin/scaffold/config/initializers/.gitignore +0 -0
- data/bin/scaffold/config.ru +12 -0
- data/fringe.gemspec +24 -0
- data/lib/fringe/server.rb +98 -0
- data/lib/fringe/version.rb +3 -0
- data/lib/fringe.rb +1 -0
- metadata +103 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8dc6146656d8fd9d869f687d6db08b4558ea522b
|
4
|
+
data.tar.gz: 9712205b24318aee25500ff5de159d645b0a0b42
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 88c34535146a414f1b2f2309eb04fbe243af3409bc0ccfbccd2f717ac474415a1225fe12fa0cd331a3d1caff0e0f8df76dce8fbec19b350c0660e5f6b6bc1fa5
|
7
|
+
data.tar.gz: e7d1378809284eb0e3b64e2e55589f7d48e175a0f79bc71354f56c6460709fa761e78fae58745baf155dd74b486faad4986c10c80fb4dca7bb606b585a3203dc
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pkg/*
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
data/bin/fringe
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'fileutils'
|
3
|
+
def print_help
|
4
|
+
puts 'Help mah!'
|
5
|
+
end
|
6
|
+
|
7
|
+
def create_new(name)
|
8
|
+
if name && name.match(/\w/)
|
9
|
+
FileUtils.copy_entry(File.dirname(__FILE__) + '/scaffold' , Dir.pwd + '/' + name)
|
10
|
+
puts "Fringe App: #{name} Created."
|
11
|
+
puts "Please run `bundle` in the app directory."
|
12
|
+
else
|
13
|
+
puts 'Please provide an app name.'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
case (ARGV[0] || '').downcase
|
18
|
+
when 'new'
|
19
|
+
create_new(ARGV[1])
|
20
|
+
else
|
21
|
+
print_help
|
22
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
data/fringe.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'fringe/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "fringe"
|
8
|
+
spec.version = Fringe::VERSION
|
9
|
+
spec.authors = ["Andrew Hecht"]
|
10
|
+
spec.email = ["velkitor@velkitor.com"]
|
11
|
+
spec.description = %q{Ruby client for Apple DEP}
|
12
|
+
spec.summary = %q{Ruby client for Apple DEP}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = ""
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = ["fringe"]
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "rack"
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Fringe
|
2
|
+
require 'fileutils'
|
3
|
+
require 'yaml'
|
4
|
+
class BaseController
|
5
|
+
attr_accessor :req
|
6
|
+
def initialize(req)
|
7
|
+
@req = req
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module RouteHelpers
|
12
|
+
def get(*args)
|
13
|
+
Fringe::Server.add_route(:get, *args)
|
14
|
+
end
|
15
|
+
|
16
|
+
def post(*args)
|
17
|
+
Fringe::Server.add_route(:post, *args)
|
18
|
+
end
|
19
|
+
|
20
|
+
def put(*args)
|
21
|
+
Fringe::Server.add_route(:put, *args)
|
22
|
+
end
|
23
|
+
|
24
|
+
def delete(*args)
|
25
|
+
Fringe::Server.add_route(:delete, *args)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class Server
|
30
|
+
@@app_dir = nil
|
31
|
+
@@routes = {
|
32
|
+
get: {},
|
33
|
+
post: {},
|
34
|
+
put: {},
|
35
|
+
delete: {}
|
36
|
+
}
|
37
|
+
|
38
|
+
def self.initialize(app_dir)
|
39
|
+
@@app_dir = app_dir
|
40
|
+
FileUtils.mkdir_p(@@app_dir + "/tmp/logs")
|
41
|
+
Dir["#{@@app_dir}/config/initializers/*.rb"].each do |file|
|
42
|
+
match = file.match(/\/([^\/.]+)\.rb$/)
|
43
|
+
if match
|
44
|
+
file_name = match[1]
|
45
|
+
require("#{@@app_dir}/config/initializers/#{file_name}")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
Dir["#{@@app_dir}/app/models/*.rb"].each do |file|
|
49
|
+
match = file.match(/\/([^\/.]+)\.rb$/)
|
50
|
+
if match
|
51
|
+
file_name = match[1]
|
52
|
+
autoload(file_name.camelize.to_sym, file)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
Dir["#{@@app_dir}/app/controllers/*.rb"].each do |file|
|
56
|
+
match = file.match(/\/([^\/.]+)\.rb$/)
|
57
|
+
if match
|
58
|
+
file_name = match[1]
|
59
|
+
require("#{@@app_dir}/app/controllers/#{file_name}")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
require("#{@@app_dir}/app/routes")
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.add_route(verb, path, klass, action)
|
67
|
+
@@routes[verb][path] = [klass, action]
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.route_request(verb, path, req)
|
71
|
+
response = [404, {"Content-Type" => "text/html"}, ['404']]
|
72
|
+
if @@routes[verb]
|
73
|
+
@@routes[verb].keys.each do |pattern|
|
74
|
+
if path.match(pattern)
|
75
|
+
controller = @@routes[verb][pattern]
|
76
|
+
STDOUT.puts "[#{Time.now.to_s}] Processing by \e[1;34m#{controller[0].to_s}\e[0m#\e[1;32m#{controller[1]}\e[0m"
|
77
|
+
response = controller[0].new(req).send(controller[1])
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
response
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.call(env)
|
85
|
+
begin
|
86
|
+
path = env["REQUEST_PATH"] || env['PATH_INFO']
|
87
|
+
verb = env['REQUEST_METHOD']
|
88
|
+
req = Rack::Request.new(env)
|
89
|
+
STDOUT.puts %{[#{Time.now.to_s}] Started \e[1;34m#{verb}\e[0m \e[1;32m"#{path}"\e[0m for \e[1;31m#{env['REMOTE_ADDR']}\e[0m}
|
90
|
+
return route_request(verb.downcase.to_sym, path, req)
|
91
|
+
rescue => e
|
92
|
+
puts e
|
93
|
+
puts e.backtrace
|
94
|
+
[500, {"Content-Type" => "text/html"}, [e.message]]
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
data/lib/fringe.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Dir[File.join(File.dirname(__FILE__), 'fringe', '**', '*.rb')].each {|file| require file }
|
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fringe
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.11
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Hecht
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-07-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Ruby client for Apple DEP
|
56
|
+
email:
|
57
|
+
- velkitor@velkitor.com
|
58
|
+
executables:
|
59
|
+
- fringe
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- ".gitignore"
|
64
|
+
- Gemfile
|
65
|
+
- Gemfile.lock
|
66
|
+
- README.md
|
67
|
+
- Rakefile
|
68
|
+
- bin/fringe
|
69
|
+
- bin/scaffold/Gemfile
|
70
|
+
- bin/scaffold/app/controllers/.gitignore
|
71
|
+
- bin/scaffold/app/models/.gitignore
|
72
|
+
- bin/scaffold/app/routes.rb
|
73
|
+
- bin/scaffold/config.ru
|
74
|
+
- bin/scaffold/config/initializers/.gitignore
|
75
|
+
- fringe.gemspec
|
76
|
+
- lib/fringe.rb
|
77
|
+
- lib/fringe/server.rb
|
78
|
+
- lib/fringe/version.rb
|
79
|
+
homepage: ''
|
80
|
+
licenses:
|
81
|
+
- ''
|
82
|
+
metadata: {}
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options: []
|
85
|
+
require_paths:
|
86
|
+
- lib
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
requirements: []
|
98
|
+
rubyforge_project:
|
99
|
+
rubygems_version: 2.4.6
|
100
|
+
signing_key:
|
101
|
+
specification_version: 4
|
102
|
+
summary: Ruby client for Apple DEP
|
103
|
+
test_files: []
|