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 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
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in apple_vpp.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,19 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ fringe (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rack (1.6.1)
10
+ rake (10.4.2)
11
+
12
+ PLATFORMS
13
+ ruby
14
+
15
+ DEPENDENCIES
16
+ bundler (~> 1.3)
17
+ fringe!
18
+ rack (~> 1.3)
19
+ rake
data/README.md ADDED
@@ -0,0 +1,2 @@
1
+ ## License
2
+ Fringe is released under the [MIT License](http://www.opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env rake
2
+ require 'bundler/gem_tasks'
3
+ require 'rake/testtask'
4
+ require 'fringe'
5
+ namespace :fringe do
6
+ desc "shwos the current version of Frigne"
7
+ task :version do
8
+ puts Fringe::VERSION
9
+ end
10
+ end
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
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'fringe', :git => 'https://github.com/Velkitor/fringe.git'
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ module Routes
2
+ extend Fringe::RouteHelpers
3
+ end
File without changes
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'rubygems'
3
+ require 'bundler'
4
+ Bundler.require(:default)
5
+
6
+ require 'rack'
7
+ require 'rack/server'
8
+
9
+
10
+ Fringe::Server.initialize(File.dirname(__FILE__))
11
+
12
+ run Fringe::Server
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
@@ -0,0 +1,3 @@
1
+ module Fringe
2
+ VERSION = "0.0.11"
3
+ 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: []