laravel 0.1.3 → 0.1.4

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.
data/.travis.yml CHANGED
@@ -3,7 +3,12 @@ rvm:
3
3
  - 1.8.7
4
4
  - 1.9.2
5
5
  - 1.9.3
6
+ - ree
6
7
  - ruby-head
7
8
  matrix:
8
9
  allow_failures:
9
10
  - rvm: ruby-head
11
+ branches:
12
+ only:
13
+ - master
14
+ - develop
data/bin/laravel CHANGED
@@ -31,6 +31,7 @@ module Laravel
31
31
  # --index => update Application Index for newly created application
32
32
  # --key => generate a new key for this application
33
33
  # --no_perms => do not update permissions on storage/ directory
34
+ # --bundles => comma-separated list of bundles to install
34
35
  desc "new [MY_APP]", "create a new Laravel application"
35
36
  method_option :local, :type => :string, :aliases => "-l", :banner => "DIRECTORY",
36
37
  :desc => "use laravel source from a local directory"
@@ -41,6 +42,8 @@ module Laravel
41
42
  :desc => "change the Application Index"
42
43
  method_option :key, :type => :boolean, :aliases => "-k",
43
44
  :desc => "generate a new key for this application"
45
+ method_option :bundles,:type => :string, :aliases => "-b",
46
+ :desc => "comma-separated list of bundles to install"
44
47
  method_option :no_perms, :type => :boolean, :desc => "do not update permissions on storage/ directory"
45
48
  def new(app_name)
46
49
  Laravel::Create::source app_name, options
@@ -62,6 +65,13 @@ module Laravel
62
65
  Laravel::Manage::generate_key options[:app]
63
66
  end
64
67
 
68
+ desc "install_bundles", "comma-separated list of bundles to install"
69
+ method_option :app, :type => :string, :aliases => "-a",
70
+ :desc => "use the specified Laravel application instead of current directory"
71
+ def install_bundles
72
+ Laravel::Manage::install_bundles options[:app]
73
+ end
74
+
65
75
  # choose a default task to run
66
76
  default_task :info
67
77
 
@@ -47,12 +47,16 @@ Feature: Create a new application based on Laravel framework for PHP
47
47
  When I run `laravel new my_app --no_perms`
48
48
  Then the stdout should contain "Hurray!"
49
49
  And laravel application must exist in "my_app" directory
50
- And permissions should not be updated on "storage" directory
50
+ And permissions should not be updated on "my_app/storage" directory
51
51
 
52
- @may_require_repository_download
52
+ @may_require_repository_download @focus @announce
53
53
  Scenario: create Laravel application with maximum customizations
54
- When I run `laravel new -ki '' -r http://github.com/laravel/pastes my_app --force`
54
+ When I run `laravel new -ki '' -b=bob,anbu -r http://github.com/laravel/pastes my_app --force`
55
55
  Then laravel application should be ready to use in "my_app" directory
56
+ And "bob" bundle must be installed for "my_app" application
57
+ And "anbu" bundle must be installed for "my_app" application
56
58
  And the stdout should contain "Creating application forcefully"
57
59
  And the stdout should contain "Generated a new key"
58
60
  And the stdout should contain "Changed Application Index"
61
+ And the stdout should contain "Installed bundle: Bob"
62
+ And the stdout should contain "Installed bundle: Anbu"
@@ -0,0 +1,20 @@
1
+ Feature: Install bundles for Laravel application
2
+ In order to extend the functionality of my Laravel application
3
+ As a PHP developer acquinted with ruby
4
+ I want to use Laravel gem to install Laravel bundles for me
5
+
6
+ @may_require_repository_download @focus @announce
7
+ Scenario: install a new bundle for a Laravel application
8
+ Given laravel application exists in "my_app" directory
9
+ And "bob" bundle must not be installed for "my_app" application
10
+ When I run `laravel install_bundles "bob" --app=my_app`
11
+ Then the stdout should contain "Installed bundle: Bob"
12
+ And "bob" bundle must be installed for "my_app" application
13
+
14
+ @may_require_repository_download @focus @announce
15
+ Scenario: create Laravel application with some bundles
16
+ When I run `laravel new my_app --bundles=bob,bootstrapper,anbu`
17
+ Then laravel application should be ready to use in "my_app" directory
18
+ And "bob" bundle must be installed for "my_app" application
19
+ And "bootstrapper" bundle must be installed for "my_app" application
20
+ And "anbu" bundle must be installed for "my_app" application
@@ -38,7 +38,7 @@ Then /^laravel application should be ready to use in "(.*?)" directory$/ do |dir
38
38
  step "local cache for \"official\" repository should exist"
39
39
  step "the stdout should contain \"Hurray!\""
40
40
  step "laravel application must exist in \"#{dir}\" directory"
41
- step "permissions should be updated on \"storage\" directory"
41
+ step "permissions should be updated on \"#{dir}/storage\" directory"
42
42
  end
43
43
 
44
44
  # check if we have a running Laravel instance using 'non-official' repository
@@ -46,7 +46,7 @@ Then /^laravel application should be ready to use in "(.*?)" directory using "(.
46
46
  step "local cache for \"#{repo}\" repository should exist"
47
47
  step "the stdout should contain \"Hurray!\""
48
48
  step "laravel application must exist in \"#{dir}\" directory"
49
- step "permissions should be updated on \"storage\" directory"
49
+ step "permissions should be updated on \"#{dir}/storage\" directory"
50
50
  end
51
51
 
52
52
  # check if local cache exists
@@ -63,8 +63,9 @@ end
63
63
 
64
64
  # check if valid permissions were set on the "storage/" directory
65
65
  Then /^permissions should( not)? be updated on "(.*?)" directory$/ do |negation, dir|
66
- dir = File.join(get_relative_path_to_test_directory(dir), "storage")
67
- is_world_writable = File.world_writable?(dir)
66
+ dir = get_relative_path_to_test_directory(dir)
67
+ world_bit = sprintf("%o", File.stat(dir).mode).to_s[-1,1].to_i
68
+ is_world_writable = [2,3,6,7].include?(world_bit)
68
69
  raise_error_based_on_condition(is_world_writable, negation)
69
70
  end
70
71
 
@@ -1,3 +1,3 @@
1
1
  module Laravel
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: laravel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -77,6 +77,7 @@ files:
77
77
  - features/S_1_new.feature
78
78
  - features/S_2_generate_key.feature
79
79
  - features/S_3_update_index.feature
80
+ - features/S_4_install_bundles.feature
80
81
  - features/step_definitions/laravel.rb
81
82
  - features/support/env.rb
82
83
  - features/support/laravel_helpers.rb
@@ -100,12 +101,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
101
  - - ! '>='
101
102
  - !ruby/object:Gem::Version
102
103
  version: '0'
104
+ segments:
105
+ - 0
106
+ hash: -4483550955882994531
103
107
  required_rubygems_version: !ruby/object:Gem::Requirement
104
108
  none: false
105
109
  requirements:
106
110
  - - ! '>='
107
111
  - !ruby/object:Gem::Version
108
112
  version: '0'
113
+ segments:
114
+ - 0
115
+ hash: -4483550955882994531
109
116
  requirements: []
110
117
  rubyforge_project:
111
118
  rubygems_version: 1.8.24
@@ -118,6 +125,7 @@ test_files:
118
125
  - features/S_1_new.feature
119
126
  - features/S_2_generate_key.feature
120
127
  - features/S_3_update_index.feature
128
+ - features/S_4_install_bundles.feature
121
129
  - features/step_definitions/laravel.rb
122
130
  - features/support/env.rb
123
131
  - features/support/laravel_helpers.rb