zephyre 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8dfc35260a405c0f08e78e34ada55bd0d694a01
4
- data.tar.gz: 187f80ad23027f581018b52d9273dc3af9855f65
3
+ metadata.gz: 409de469e0bed5f002585d375414a1b4e2042ce5
4
+ data.tar.gz: 7830be6059e4d528a8194715fc5192cc44b7eadd
5
5
  SHA512:
6
- metadata.gz: 26609abd5c21a5e6b6d42550a157e638d1f26e45d4d499e2c8b6c06da24fba3653912743cb3a3ae902f0ef3f92f6b4392b70194643abafb18f1c70ef5104cf2f
7
- data.tar.gz: 18360fd4cf776fcda6bfaceed9773ffc55337d7fd530ead27ec895d35a9b4f389d32df350f1b953d4d6204c18960a3482b33dbca80691ef25779f8c8f00f4603
6
+ metadata.gz: 0f0f5df779cce335e855a625850e4b6fd1602f9a640d15d7112833c34c8b98c3a212500e506ca48fa292574ec6814ab43628994c653b419bb937f1e2b933c856
7
+ data.tar.gz: c837e205972ac7d69cb7349ea1d7ec3a6ec8465b6ddd7aad14e410a3d750f2c5a3ee95063e16d833a58e763961232996eeb227e93769abea7f3eeff974f90c1d
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'zephyre/utils'
4
+
5
+ if ARGV.first == "claim"
6
+
7
+ @application_controller = "class ApplicationController < Zephyre::Controller
8
+ def index
9
+ render 'index'
10
+ end
11
+ end
12
+ "
13
+
14
+ @gemfile = "source 'http://rubygems.org'
15
+
16
+ gem 'zephyre'
17
+ "
18
+
19
+ @app = "require 'zephyre'
20
+
21
+ $LOAD_PATH << File.join(File.dirname(__FILE__), \"app\", \"controllers\")
22
+
23
+ module #{ARGV[1].to_camel_case}
24
+ class Application < Zephyre::Application
25
+
26
+ end
27
+ end
28
+ "
29
+
30
+ @config = "require './app'
31
+
32
+ #{ARGV[1]} = #{ARGV[1].to_camel_case}::Application.new
33
+
34
+ #{ARGV[1]}.map_routes do
35
+ get '/' => 'Application.index'
36
+ end
37
+
38
+ run #{ARGV[1]}
39
+ "
40
+
41
+ @index = "<!doctype html>
42
+ <html>
43
+ <head>
44
+ <title>Welcome to Zephyre!</title>
45
+ </head>
46
+ <body style=\"background-color: #161421;\">
47
+ <div style=\"width: 40%; margin-left: 30%; margin-top: 10%; font-family: sans-serif;\">
48
+ <img src=\"https://s29.postimg.org/5kr4p87gn/zephyre.png\" style=\"width:100%;\"/>
49
+ <p style=\"text-align: center; color: #fff;\">Yay, you're on Zephyre! Get started by editing this page at <i><%= File.join(Dir.pwd, \"app\", \"views\", \"application\", \"index.erb\") %></i></p>
50
+ </div>
51
+ </body>
52
+ </html>"
53
+
54
+ end
55
+
56
+ case ARGV.first
57
+ when "claim"
58
+ Dir.mkdir(File.join(Dir.pwd, ARGV[1]), 0700)
59
+ Dir.mkdir(File.join(Dir.pwd, ARGV[1], "app"), 0700)
60
+ Dir.mkdir(File.join(Dir.pwd, ARGV[1], "app", "controllers"), 0700)
61
+ File.open(File.join(Dir.pwd, ARGV[1], "app", "controllers", "application_controller.rb"), "w+") do |file|
62
+ file.write(@application_controller)
63
+ end
64
+ Dir.mkdir(File.join(Dir.pwd, ARGV[1], "app", "views"), 0700)
65
+ Dir.mkdir(File.join(Dir.pwd, ARGV[1], "app", "views", "application"), 0700)
66
+ File.open(File.join(Dir.pwd, ARGV[1], "app", "views", "application", "index.erb"), "w+") do |file|
67
+ file.write(@index)
68
+ end
69
+
70
+ File.open(File.join(Dir.pwd, ARGV[1], "Gemfile"), "w+") do |file|
71
+ file.write(@gemfile)
72
+ end
73
+
74
+ File.open(File.join(Dir.pwd, ARGV[1], "app.rb"), "w+") do |file|
75
+ file.write(@app)
76
+ end
77
+
78
+ File.open(File.join(Dir.pwd, ARGV[1], "config.ru"), "w+") do |file|
79
+ file.write(@config)
80
+ end
81
+ # File.open(File.join)
82
+ # Dir.mkdir(File.join(Dir.pwd, ARGV[1], "config"), 0700)
83
+ puts "Project #{ARGV[1]} created."
84
+ when "prospect"
85
+ # TODO
86
+ when "server"
87
+ system("rackup -p 9000")
88
+ $stderr.puts "Zephyre has begun mining on port 9000"
89
+ end
@@ -1,5 +1,3 @@
1
- require 'erubis'
2
-
3
1
  module Zephyre
4
2
  class Controller
5
3
  attr_reader :request
@@ -21,7 +19,7 @@ module Zephyre
21
19
  end
22
20
 
23
21
  def render(*args)
24
- response(render_template(*args))
22
+ response(render_template(*args), 200, {"Content-Type" => "text/html"})
25
23
  end
26
24
 
27
25
  def render_template(view_name, locals = {})
@@ -34,7 +32,7 @@ module Zephyre
34
32
  vars[key] = instance_variable_get(var)
35
33
  end
36
34
 
37
- Erubis::Eruby.new(template).result(locals.merge(vars))
35
+ ERB.new(template).result(binding)
38
36
  end
39
37
 
40
38
  def controller_name
@@ -49,7 +47,6 @@ module Zephyre
49
47
  else
50
48
  render(action)
51
49
  get_response
52
- # [200, {"Content-Type" => "text/html"}, [response]]
53
50
  end
54
51
  end
55
52
 
@@ -6,9 +6,12 @@ require "zephyre/routing"
6
6
 
7
7
  module Zephyre
8
8
  class Application
9
+
9
10
  def map_routes(&block)
10
11
  @router ||= Zephyre::Router.new
11
12
  @router.instance_eval(&block)
13
+
14
+ puts "Zephyre has begun mining on port 9000"
12
15
  end
13
16
 
14
17
  def get_rack_app(env)
@@ -1,3 +1,3 @@
1
1
  module Zephyre
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -16,13 +16,13 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
18
  spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.executables = ["zephyre"]
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.12"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
25
 
26
+ # spec.add_runtime_dependency "pry"
26
27
  spec.add_runtime_dependency "rack"
27
- spec.add_runtime_dependency "erubis"
28
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zephyre
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Dovzhanyn
@@ -66,25 +66,12 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: erubis
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  description: Zephyre is a web development framework built on Rack. Use Zephyre to
84
70
  build quick websites with ruby.
85
71
  email:
86
72
  - dovzhanyn.alex@gmail.com
87
- executables: []
73
+ executables:
74
+ - zephyre
88
75
  extensions: []
89
76
  extra_rdoc_files: []
90
77
  files:
@@ -97,6 +84,7 @@ files:
97
84
  - Rakefile
98
85
  - bin/console
99
86
  - bin/setup
87
+ - exe/zephyre
100
88
  - lib/zephyre.rb
101
89
  - lib/zephyre/controller.rb
102
90
  - lib/zephyre/dependencies.rb