pullentity-client 0.0.1
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 +15 -0
- data/.DS_Store +0 -0
- data/.gitignore +47 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/bin/pullentity +5 -0
- data/lib/.DS_Store +0 -0
- data/lib/pullentity-client/.DS_Store +0 -0
- data/lib/pullentity-client/builder/middleman.rb +14 -0
- data/lib/pullentity-client/cli.rb +85 -0
- data/lib/pullentity-client/generate/auth.rb +173 -0
- data/lib/pullentity-client/generate/exporter.rb +107 -0
- data/lib/pullentity-client/generate/project.rb +99 -0
- data/lib/pullentity-client/generate/view.rb +47 -0
- data/lib/pullentity-client/helpers.rb +146 -0
- data/lib/pullentity-client/logger.rb +14 -0
- data/lib/pullentity-client/templates/.DS_Store +0 -0
- data/lib/pullentity-client/templates/app/.DS_Store +0 -0
- data/lib/pullentity-client/templates/app/assets/.DS_Store +0 -0
- data/lib/pullentity-client/templates/app/assets/fonts/fontawesome-webfont.eot +0 -0
- data/lib/pullentity-client/templates/app/assets/fonts/fontawesome-webfont.svg +255 -0
- data/lib/pullentity-client/templates/app/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/lib/pullentity-client/templates/app/assets/fonts/fontawesome-webfont.woff +0 -0
- data/lib/pullentity-client/templates/app/assets/images/.DS_Store +0 -0
- data/lib/pullentity-client/templates/app/assets/images/favicon.ico +0 -0
- data/lib/pullentity-client/templates/app/assets/javascripts/application.js.erb +4 -0
- data/lib/pullentity-client/templates/app/assets/javascripts/mustache.js +535 -0
- data/lib/pullentity-client/templates/app/assets/stylesheets/application.css.scss +1 -0
- data/lib/pullentity-client/templates/app/assets/stylesheets/customtheme.css.scss +1 -0
- data/lib/pullentity-client/templates/app/index.html.haml +15 -0
- data/lib/pullentity-client/templates/app/views/.DS_Store +0 -0
- data/lib/pullentity-client/templates/app/views/list.haml +11 -0
- data/lib/pullentity-client/templates/app/views/shared/body.haml +26 -0
- data/lib/pullentity-client/templates/app/views/shared/css.haml +48 -0
- data/lib/pullentity-client/templates/app/views/shared/head.haml +19 -0
- data/lib/pullentity-client/templates/app/views/shared/js.haml +43 -0
- data/lib/pullentity-client/templates/app/views/themes/home.haml +21 -0
- data/lib/pullentity-client/templates/app/views/themes/theme1.haml +21 -0
- data/lib/pullentity-client/templates/defaults/Gemfile.erb +8 -0
- data/lib/pullentity-client/templates/defaults/LICENSE.erb +1 -0
- data/lib/pullentity-client/templates/defaults/Readme.mkd.erb +1 -0
- data/lib/pullentity-client/templates/defaults/build.yml.erb +2 -0
- data/lib/pullentity-client/templates/defaults/config.erb +23 -0
- data/lib/pullentity-client/templates/defaults/gitignore.erb +2 -0
- data/lib/pullentity-client/templates/defaults/layout.haml.erb +13 -0
- data/lib/pullentity-client/templates/defaults/pullentity.yml.erb +5 -0
- data/lib/pullentity-client/templates/defaults/test-data.js.erb +87 -0
- data/lib/pullentity-client/templates/rakefile +0 -0
- data/lib/pullentity-client/templates/specs/app_spec.coffee.erb +3 -0
- data/lib/pullentity-client/utils.rb +81 -0
- data/lib/pullentity-client/version.rb +5 -0
- data/lib/pullentity-client.rb +39 -0
- data/pullentity-client.gemspec +39 -0
- data/spec/cli/command_spec.rb +90 -0
- data/spec/pullentity-client/builder/middleman_spec.rb +22 -0
- data/spec/pullentity-client/generate/exporter_spec.rb +53 -0
- data/spec/pullentity-client/generate/project_spec.rb +90 -0
- data/spec/pullentity-client/logger_spec.rb +25 -0
- data/spec/pullentity-client/utils_spec.rb +94 -0
- data/spec/spec_helper.rb +42 -0
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.svg +255 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/images/.DS_Store +0 -0
- data/vendor/assets/images/pullentity/.DS_Store +0 -0
- data/vendor/assets/javascripts/pullentity/.DS_Store +0 -0
- data/vendor/assets/javascripts/pullentity.js +0 -0
- data/vendor/assets/stylesheets/.DS_Store +0 -0
- data/vendor/assets/stylesheets/pullentity/themes/default.css.scss +0 -0
- data/vendor/assets/stylesheets/pullentity.css.scss +1 -0
- metadata +335 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
.span4
|
2
|
+
%h2 {{project.title}}
|
3
|
+
{{{project.body}}}
|
4
|
+
.span8
|
5
|
+
#myCarousel.carousel.slide{:style => "float:left"}
|
6
|
+
.carousel-inner
|
7
|
+
{{#photos}}
|
8
|
+
|
9
|
+
.item
|
10
|
+
%img{:alt => "", :src => "{{img_large}}"}/
|
11
|
+
.carousel-caption
|
12
|
+
%h4 {{title}}
|
13
|
+
%p {{caption}}
|
14
|
+
|
15
|
+
{{/photos}}
|
16
|
+
|
17
|
+
%a.left.carousel-control{"data-slide" => "prev", :href => "#myCarousel"} ‹
|
18
|
+
|
19
|
+
%a.right.carousel-control{"data-slide" => "next", :href => "#myCarousel"} ›
|
20
|
+
|
21
|
+
{{{fb_comments}}}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.span4
|
2
|
+
%h2 {{project.title}}
|
3
|
+
{{{project.body}}}
|
4
|
+
.span8
|
5
|
+
#myCarousel.carousel.slide{:style => "float:left"}
|
6
|
+
.carousel-inner
|
7
|
+
{{#photos}}
|
8
|
+
|
9
|
+
.item
|
10
|
+
%img{:alt => "", :src => "{{img_large}}"}/
|
11
|
+
.carousel-caption
|
12
|
+
%h4 {{title}}
|
13
|
+
%p {{caption}}
|
14
|
+
|
15
|
+
{{/photos}}
|
16
|
+
|
17
|
+
%a.left.carousel-control{"data-slide" => "prev", :href => "#myCarousel"} ‹
|
18
|
+
|
19
|
+
%a.right.carousel-control{"data-slide" => "next", :href => "#myCarousel"} ›
|
20
|
+
|
21
|
+
{{{fb_comments}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= app_name %> <%= Time.now.year %>, made with pullentity, see pullentity license.
|
@@ -0,0 +1 @@
|
|
1
|
+
# <%= app_name %> - Created with Pullentity Client Generator
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
#"<%= app_name %>"
|
4
|
+
|
5
|
+
require "pullentity-client/helpers"
|
6
|
+
helpers Pullentity::Client::Helpers
|
7
|
+
|
8
|
+
set :sass_assets_paths, []
|
9
|
+
set :relative_links, false
|
10
|
+
set :images_dir, "assets/images"
|
11
|
+
set :fonts_dir, "assets/fonts"
|
12
|
+
set :css_dir, "assets/stylesheets"
|
13
|
+
set :js_dir, "assets/javascripts"
|
14
|
+
set :markdown, :layout_engine => :haml
|
15
|
+
set :default_encoding, 'utf-8'
|
16
|
+
|
17
|
+
page "views/*", :layout => false
|
18
|
+
|
19
|
+
configure :build do
|
20
|
+
activate :minify_css
|
21
|
+
activate :minify_javascript
|
22
|
+
activate :relative_assets
|
23
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
//= require "mustache"
|
2
|
+
|
3
|
+
$(document).ready(function() {
|
4
|
+
|
5
|
+
var template, html;
|
6
|
+
|
7
|
+
window.data = {
|
8
|
+
site_link: "/",
|
9
|
+
site: {
|
10
|
+
name: "<%= app_name %>",
|
11
|
+
},
|
12
|
+
sections: [
|
13
|
+
{ public_url: "#home", title: "photos", show_in_menu: true },
|
14
|
+
{ public_url: "#list", title: "books", show_in_menu: true },
|
15
|
+
{ public_url: "#theme1", title: "theme1", show_in_menu: true }
|
16
|
+
],
|
17
|
+
project: {
|
18
|
+
title: "My Awesome Project",
|
19
|
+
body: "lorem bla bla"
|
20
|
+
},
|
21
|
+
photos: [
|
22
|
+
{ title: "my favorite things",
|
23
|
+
caption: "donuts, pizza, computers",
|
24
|
+
img_large: "http://farm7.staticflickr.com/6161/6187349656_4be054c2d8_z_d.jpg"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
title: "mexican",
|
28
|
+
caption: "Mexican letters",
|
29
|
+
img_large: "http://farm7.staticflickr.com/6155/6187348764_4565f30184_z_d.jpg"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
title: "Rome",
|
33
|
+
caption: "When in Rome",
|
34
|
+
img_large: "http://farm7.staticflickr.com/6158/6186830089_81d4fc3382_z_d.jpg"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
title: "Salvo",
|
38
|
+
caption: "Salvo",
|
39
|
+
img_large: "http://farm7.staticflickr.com/6065/6132525393_6a61e20cd9_z_d.jpg"
|
40
|
+
}
|
41
|
+
|
42
|
+
],
|
43
|
+
section: {
|
44
|
+
title: "some section here"
|
45
|
+
},
|
46
|
+
projects: [
|
47
|
+
{
|
48
|
+
project_photo: "http://farm7.staticflickr.com/6161/6187349656_4be054c2d8_z_d.jpg",
|
49
|
+
title: "project title",
|
50
|
+
project_path: "#home"
|
51
|
+
},
|
52
|
+
{
|
53
|
+
project_photo: "http://farm7.staticflickr.com/6161/6187349656_4be054c2d8_z_d.jpg",
|
54
|
+
title: "project title 2",
|
55
|
+
project_path: "#home"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
project_photo: "http://farm7.staticflickr.com/6161/6187349656_4be054c2d8_z_d.jpg",
|
59
|
+
title: "project title 3",
|
60
|
+
project_path: "#home"
|
61
|
+
}
|
62
|
+
],
|
63
|
+
public_url: "http://artenlinea.com",
|
64
|
+
url : function () {
|
65
|
+
return function (text, render) {
|
66
|
+
text = render(text);
|
67
|
+
var url = text.trim().toLowerCase().split('tuts+')[0] + '.tutsplus.com';
|
68
|
+
return '<a href="' + url + '">' + text + '</a>';
|
69
|
+
}
|
70
|
+
}
|
71
|
+
};
|
72
|
+
|
73
|
+
// layout
|
74
|
+
template = $("#layout").html();
|
75
|
+
layout = Mustache.to_html(template, data);
|
76
|
+
$("body").html(layout);
|
77
|
+
|
78
|
+
|
79
|
+
$(window).on('hashchange', function(e) {
|
80
|
+
theme = $("#yield-scripts " + window.location.hash + " ").html();
|
81
|
+
console.log( theme );
|
82
|
+
view = Mustache.to_html(theme, window.data);
|
83
|
+
$("#loadScripts").html(view);
|
84
|
+
});
|
85
|
+
|
86
|
+
|
87
|
+
});
|
File without changes
|
@@ -0,0 +1,81 @@
|
|
1
|
+
module Pullentity
|
2
|
+
module Client
|
3
|
+
module Utils
|
4
|
+
include Thor::Actions
|
5
|
+
|
6
|
+
def self.source_root
|
7
|
+
File.dirname(__FILE__)
|
8
|
+
end
|
9
|
+
|
10
|
+
def create_new_file(name, file=nil)
|
11
|
+
log "Creating #{name}"
|
12
|
+
contents = file.nil? ? '' : File.read(file)
|
13
|
+
unless File.file?(location.join(name))
|
14
|
+
File.open(location.join(name), 'w') { |f| f.write(contents) }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def remove_files(*files)
|
19
|
+
files.each do |file|
|
20
|
+
log "Removing #{file} file."
|
21
|
+
FileUtils.rm(location.join(file))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def touch(*filenames)
|
26
|
+
filenames.each do |filename|
|
27
|
+
log "Creating #{filename} file."
|
28
|
+
FileUtils.touch(location.join(filename))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def create_directories(*dirs)
|
33
|
+
dirs.each do |dir|
|
34
|
+
log "Creating the #{dir} directory."
|
35
|
+
FileUtils.mkdir_p(location.join(dir))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def remove_directories(*names)
|
40
|
+
names.each do |name|
|
41
|
+
log "Removing #{name} directory."
|
42
|
+
FileUtils.rm_rf(location.join(name))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def create_with_template(name, template_location, contents={})
|
47
|
+
template = templates("#{template_location}.erb")
|
48
|
+
eruby = Erubis::Eruby.new(File.read(template))
|
49
|
+
File.open(location.join(name.gsub(/^\//, '')), 'w') { |f| f.write(eruby.result(contents))}
|
50
|
+
end
|
51
|
+
|
52
|
+
def templates(path)
|
53
|
+
::Pullentity::Client.root.join('pullentity-client/templates').join(path)
|
54
|
+
end
|
55
|
+
|
56
|
+
def log(msg)
|
57
|
+
::Pullentity::Client::Logger.report(msg)
|
58
|
+
end
|
59
|
+
|
60
|
+
def error(msg)
|
61
|
+
::Pullentity::Client::Logger.error(msg)
|
62
|
+
end
|
63
|
+
|
64
|
+
def base_location
|
65
|
+
@location ||= Pathname.new(Dir.pwd)
|
66
|
+
end
|
67
|
+
|
68
|
+
alias_method :location, :base_location
|
69
|
+
|
70
|
+
def underscore(string)
|
71
|
+
string.gsub(/::/, '/').
|
72
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
73
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
74
|
+
tr("-", "_").
|
75
|
+
downcase
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "pullentity-client/version"
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'pathname'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'rbconfig'
|
7
|
+
require 'colored'
|
8
|
+
require 'rocco'
|
9
|
+
require 'thor'
|
10
|
+
require 'erubis'
|
11
|
+
require 'nokogiri'
|
12
|
+
require 'json'
|
13
|
+
|
14
|
+
module Pullentity
|
15
|
+
module Client
|
16
|
+
ROOT_PATH = Pathname(__FILE__).dirname.expand_path
|
17
|
+
|
18
|
+
autoload :VERSION, 'pullentity-client/version.rb'
|
19
|
+
autoload :CLI, 'pullentity-client/cli.rb'
|
20
|
+
autoload :Logger, "pullentity-client/logger.rb"
|
21
|
+
autoload :Utils, "pullentity-client/utils.rb"
|
22
|
+
|
23
|
+
module Generate
|
24
|
+
autoload :Project, "pullentity-client/generate/project.rb"
|
25
|
+
autoload :Model, "pullentity-client/generate/model.rb"
|
26
|
+
autoload :Exporter, "pullentity-client/generate/exporter.rb"
|
27
|
+
autoload :Auth, "pullentity-client/generate/auth.rb"
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
module Builder
|
32
|
+
autoload :Middleman, 'pullentity-client/builder/middleman.rb'
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.root
|
36
|
+
@root ||= Pathname(__FILE__).dirname.expand_path
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pullentity-client/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "pullentity-client"
|
8
|
+
gem.version = Pullentity::Client::VERSION
|
9
|
+
gem.authors = ["miguel michelson"]
|
10
|
+
gem.email = ["miguelmichelson@gmail.com"]
|
11
|
+
gem.description = %q{Pullentity client for build pullentity.com sites}
|
12
|
+
gem.summary = %q{This gem provides a simple builder workspace for make pullentity sites with haml and sass}
|
13
|
+
gem.homepage = ""
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
|
20
|
+
|
21
|
+
gem.add_runtime_dependency(%q<coffee-script>, ["~> 2.2.0"])
|
22
|
+
|
23
|
+
gem.add_runtime_dependency(%q<colored>, ["~> 1.2"])
|
24
|
+
gem.add_runtime_dependency(%q<rake>, ["~> 0.9.2"])
|
25
|
+
gem.add_runtime_dependency(%q<nokogiri>, ["~> 1.4.4"])
|
26
|
+
gem.add_runtime_dependency(%q<erubis>, ["~> 2.7.0"])
|
27
|
+
gem.add_runtime_dependency(%q<rocco>, ["~> 0.7"])
|
28
|
+
gem.add_runtime_dependency(%q<thor>, ["~> 0.15.4"])
|
29
|
+
gem.add_runtime_dependency(%q<compass>, ["~> 0.12.2"])
|
30
|
+
gem.add_runtime_dependency(%q<session>, ["~> 3.1"])
|
31
|
+
gem.add_runtime_dependency(%q<middleman>, ["3.0.12"])
|
32
|
+
gem.add_runtime_dependency(%q<faraday>)
|
33
|
+
gem.add_runtime_dependency("json")
|
34
|
+
|
35
|
+
# gem.add_development_dependency(%q<bundler>, ["~> 1.0.14"])
|
36
|
+
gem.add_development_dependency(%q<bundler>, ["~> 1.1"])
|
37
|
+
gem.add_development_dependency(%q<rspec>, ["~> 2.6.0"])
|
38
|
+
gem.add_development_dependency("debugger")
|
39
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "PullentityClient Generator Commands" do
|
4
|
+
context "Help command:" do
|
5
|
+
context "PullentityClient help" do
|
6
|
+
it "should display the basic help for the CLI" do
|
7
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['help']) }
|
8
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
context "PullentityClient help invalid_task" do
|
12
|
+
it "should display appropriate error message" do
|
13
|
+
response, status = capture_with_status(:stderr){ Pullentity::Client::CLI.start(['help', 'blah']) }
|
14
|
+
response.should eql("Could not find task \"blah\".\n")
|
15
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
context "Info command:" do
|
20
|
+
context "PullentityClient info" do
|
21
|
+
it "should display the version" do
|
22
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['info']) }
|
23
|
+
#response.should eql("Version #{::Pullentity::Client::VERSION}\n")
|
24
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
context "PullentityClient -v (alias)" do
|
28
|
+
it "should display the version" do
|
29
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['-v']) }
|
30
|
+
#response.should eql("Version #{::Pullentity::Client::VERSION}\n")
|
31
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
context "PullentityClient --version (alias)" do
|
35
|
+
it "should display the version" do
|
36
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['--version']) }
|
37
|
+
#response.should eql("Version #{::Pullentity::Client::VERSION}\n")
|
38
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
context "New command: " do
|
43
|
+
context "Help (PullentityClient help new)" do
|
44
|
+
it "should display help for the task 'new'" do
|
45
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start((["project", "help", "new"])) }
|
46
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
47
|
+
end
|
48
|
+
end
|
49
|
+
context "Generate a new project: " do
|
50
|
+
context "with no name (PullentityClient new)" do
|
51
|
+
it "should exit with error" do
|
52
|
+
response, status = capture_with_status(:stderr){ Pullentity::Client::CLI.start(['project', 'new']) }
|
53
|
+
#puts response
|
54
|
+
#response.include?("new was called incorrectly. Call as").should be_true
|
55
|
+
#response.should eql("\"new\" was called incorrectly. Call as \"rspec new <name> <id> <platform>\".\n")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
context "with custom name (PullentityClient new Demo)" do
|
59
|
+
it "should generate new project \"Demo\"" do
|
60
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['project', 'new', 'Demo']) }
|
61
|
+
|
62
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
63
|
+
end
|
64
|
+
after (:all) do
|
65
|
+
remove_directories("Demo")
|
66
|
+
end
|
67
|
+
end
|
68
|
+
context "with custom name and id (ti new Demo com.mycompany.demo)" do
|
69
|
+
it "should generate new project \"Demo\" with id \"com.mycompany.demo\"" do
|
70
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['project', 'new', 'Demo', 'com.mycompany.demo']) }
|
71
|
+
|
72
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
73
|
+
end
|
74
|
+
after (:all) do
|
75
|
+
remove_directories("Demo")
|
76
|
+
end
|
77
|
+
end
|
78
|
+
context "with custom name, id and platform (PullentityClient new Demo com.mycompany.demo ipad)" do
|
79
|
+
it "should generate new project \"Demo\" with id \"com.mycompany.demo\" and for platform \"ipad\"" do
|
80
|
+
response, status = capture_with_status(:stdout){ Pullentity::Client::CLI.start(['project', 'new', 'Demo', 'com.mycompany.demo']) }
|
81
|
+
|
82
|
+
status.should eql(Pullentity::Client::CLI::STATUS_TYPES[:success])
|
83
|
+
end
|
84
|
+
after (:all) do
|
85
|
+
remove_directories("Demo")
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe "Creating of a view file" do
|
4
|
+
before(:all) do
|
5
|
+
::Pullentity::Client::Generate::Project.create('dailyfocus')
|
6
|
+
end
|
7
|
+
|
8
|
+
context "Creating a view file and its spec" do
|
9
|
+
before(:each) do
|
10
|
+
system("cd dailyfocus && bundle exec pullentity build mm")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have created the build directory" do
|
14
|
+
File.directory?("dailyfocus/build").should be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
after(:all) do
|
20
|
+
#remove_directories('dailyfocus', 'app', 'spec/views')
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe "Creating of a new Pullentity Client Project" do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
::Pullentity::Client::Generate::Project.create('dailyfocus')
|
7
|
+
end
|
8
|
+
|
9
|
+
context "Directories should be created" do
|
10
|
+
before :all do
|
11
|
+
system("cd dailyfocus && bundle exec pullentity export new name")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should generate the export build json" do
|
15
|
+
File.exists?("dailyfocus/pullentity_build.json").should be_true
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should be a valid json" do
|
19
|
+
json = JSON.parse( IO.read("dailyfocus/pullentity_build.json") )
|
20
|
+
json["themes"].size.should == 2
|
21
|
+
json["theme_name"].should_not be_empty
|
22
|
+
json["theme_name"].should == "name"
|
23
|
+
json["layout"].should_not be_empty
|
24
|
+
json["list"].should_not be_empty
|
25
|
+
json["css"].should_not be_empty
|
26
|
+
json["js"].should_not be_empty
|
27
|
+
json["head"].should_not be_empty
|
28
|
+
json["assets"].should_not be_empty
|
29
|
+
json["assets"].keys.should eql ["images", "js", "css", "fonts"]
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
context "Directories should be created" do
|
35
|
+
before :all do
|
36
|
+
system("cd dailyfocus && bundle exec pullentity export new")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should generate the export build json" do
|
40
|
+
File.exists?("dailyfocus/pullentity_build.json").should be_true
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should be a valid json" do
|
44
|
+
json = JSON.parse( IO.read("dailyfocus/pullentity_build.json") )
|
45
|
+
json["theme_name"].should == "dailyfocus"
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
after(:all) do
|
51
|
+
#remove_directories('dailyfocus')
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe "Creating of a new Pullentity Client Project" do
|
4
|
+
before(:all) do
|
5
|
+
::Pullentity::Client::Generate::Project.create('dailyfocus')
|
6
|
+
end
|
7
|
+
|
8
|
+
context "Directories should be created" do
|
9
|
+
|
10
|
+
it "should have created the project" do
|
11
|
+
File.directory?("dailyfocus").should be_true
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should have an app directory" do
|
15
|
+
File.directory?("dailyfocus/source").should be_true
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have a assets directory" do
|
19
|
+
File.directory?("dailyfocus/source/assets").should be_true
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should have a docs directory" do
|
23
|
+
File.directory?("dailyfocus/docs").should be_true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should have a specs directory" do
|
27
|
+
File.directory?("dailyfocus/spec").should be_true
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should have a tmp directory" do
|
31
|
+
File.directory?("dailyfocus/tmp").should be_true
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
context "Top tier files should be created" do
|
37
|
+
|
38
|
+
it "should have created the LICENSE" do
|
39
|
+
File.exists?("dailyfocus/LICENSE").should be_true
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should have created the config file" do
|
43
|
+
File.exists?("dailyfocus/config.rb").should be_true
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should have created the Readme.mkd" do
|
47
|
+
File.exists?("dailyfocus/Readme.mkd").should be_true
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should have created the Gemfile" do
|
51
|
+
File.exists?("dailyfocus/Gemfile").should be_true
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should have created Pullentity Client config file" do
|
55
|
+
File.exists?("dailyfocus/pullentity.yml").should be_true
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context "Inside the source directory" do
|
60
|
+
|
61
|
+
|
62
|
+
it "should have created the models directory" do
|
63
|
+
File.directory?("dailyfocus/source/models").should be_true
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should have created the stylesheets directory" do
|
67
|
+
File.directory?("dailyfocus/source/assets/stylesheets").should be_true
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should have created the javascripts directory" do
|
71
|
+
File.directory?("dailyfocus/source/assets/javascripts").should be_true
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should have created the images directory" do
|
75
|
+
File.directory?("dailyfocus/source/assets/images").should be_true
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should have created the fonts directory" do
|
79
|
+
File.directory?("dailyfocus/source/assets/fonts").should be_true
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should have created the views directory" do
|
83
|
+
File.directory?("dailyfocus/source/views").should be_true
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
after(:all) do
|
88
|
+
remove_directories('dailyfocus')
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "The Logger" do
|
4
|
+
before(:each) do
|
5
|
+
@stdout_orig = $stdout
|
6
|
+
$stdout = StringIO.new
|
7
|
+
|
8
|
+
@stderr_orig = $stderr
|
9
|
+
$stderr = StringIO.new
|
10
|
+
end
|
11
|
+
|
12
|
+
context "Reporting an error" do
|
13
|
+
it "should output a formatted message with a red color" do
|
14
|
+
Pullentity::Client::Logger.error("This is failing.")
|
15
|
+
$stderr.string.should == "\e[1m\e[31mThis is failing.\e[0m\e[0m\n"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "Reporting back a success" do
|
20
|
+
it "should output a formatted message with a green color" do
|
21
|
+
Pullentity::Client::Logger.report("This is a success.")
|
22
|
+
$stdout.string.should == "\e[1m\e[32mThis is a success.\e[0m\e[0m\n"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|