batch_manager 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODcwYWZkOTU1ZGMwZGZjNjE4YjAyZGQxNGNlMjA4NDk0YzJmOThjMg==
4
+ Yzg5MzM1MGQzMTFhNDJlM2YzZDljODRmNjQ0NzQyODJkZDI1YTU4Mg==
5
5
  data.tar.gz: !binary |-
6
- MGVlYTY5OTc5YWFmODNhNDAxZmU1YTAzZWQ5Y2I0NzkxOGMwMWUzZg==
6
+ MzViMWU3NTE1OGNjNDU2MzcxMDA0M2U0ZWI1ZmE3ZDY3ZDkzZjcwZA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NWQ5ZTYyM2YzZWMyMGFkMTlhNGM3MTEwZWExZmJiMDQ4NzU2MzIzM2I4ZjVk
10
- M2E5YmFmMTljMzUxNjhmZTEzZjYxYmIwN2M5OTdiZGNlMTZiZmJiNTQ1MWM3
11
- ZGU5NzYwZWU4Njc2ZWNkODllZTFkNzk1NWRiMWIyZDk2ZTVhODI=
9
+ NzQ0NDcyOTQyYTNmNmMyZTUyMTc5NjE0YTA0YjQ1ZTg5N2VkMWVjOTYyZjIy
10
+ NjhhN2U3ODZhMzZlNGQ0MzkwNmUyMjc0NmU1MzhjNjU1YTYwZDRmNWUxODhm
11
+ ZGFhMmE4NThjMzQxYTdkZjE3MDAwMDQ2NjIxNDc0YjdmOTY1Nzk=
12
12
  data.tar.gz: !binary |-
13
- NTczYzk1OTJmYjRmMjZlNTE4YjQ5ODIzMjE0NWJmN2M0ZGJlNWY0ZjNlYjky
14
- ZGNlNmUwYzhiNzk1YzM5ODEwNmZlNjFjYjk3MjdlM2I4YjgwYjFmMmRhOGM3
15
- NzNhYmY2NzQwZGVlMDMyZmIwYTZiNjc4YTNlMjRlZGZjYjU2ZjM=
13
+ Mjc4ZTVmYTUzMGE3ZDhiMTQ3NDJhMmM1MjExMWRiZjI0ZDc0YmMxMGE3Yjdj
14
+ ODA4ODRkNGE3YjI4ZmJhYTg5M2EyMWFjNGM4NDk4MzJmMThiY2ZlYTZkMDA5
15
+ NjlkNjQ1NTQ1OWI0ZGNiYThiM2MyN2U1NTAyZjBlOTIyNzExNWE=
@@ -43,16 +43,61 @@ header h1 {
43
43
  font-size: 18px;
44
44
  line-height: 36px;
45
45
  font-weight: normal;
46
- color: #777777;
47
46
  text-shadow: 0 1px 0 #ffffff;
48
47
  }
49
48
 
49
+ header h1 a {
50
+ color: #777777;
51
+ text-decoration: none;
52
+ }
53
+
54
+ header .new_link {
55
+ float: right;
56
+ font-size: 14px;
57
+ line-height: 36px;
58
+ font-weight: bold;
59
+ }
60
+
61
+ header .new_link a {
62
+ color: #ccc;
63
+ text-shadow: 0 1px 1px #ffffff;
64
+ text-decoration: none;
65
+ }
66
+
67
+ header .new_link a:hover {
68
+ color: #aaa;
69
+ text-decoration: underline;
70
+ }
71
+
50
72
  .title {
51
73
  padding-bottom: 20px;
52
74
  margin-bottom: 25px;
53
75
  border-bottom: 1px solid #e2e2e2;
54
76
  }
55
77
 
78
+ .title .new_batch {
79
+ color: #aaa;
80
+ line-height: 22px;
81
+ }
82
+
83
+ .title input {
84
+ margin: 0;
85
+ margin-top: -2px;
86
+ padding: 2px 5px;
87
+ font-size: 14px;
88
+ line-height: 18px;
89
+ width: 250px;
90
+ background-color: #ffffff;
91
+ border: 1px solid #cccccc;
92
+ color: #555;
93
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
94
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
95
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
96
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
97
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
98
+ transition: border linear 0.2s, box-shadow linear 0.2s;
99
+ }
100
+
56
101
  h2 {
57
102
  color: #777;
58
103
  font-size: 18px;
@@ -86,6 +131,11 @@ a.cancel:hover {
86
131
  text-decoration: underline;
87
132
  }
88
133
 
134
+ .divider {
135
+ padding: 0 5px;
136
+ color: #aaa;
137
+ }
138
+
89
139
  footer {
90
140
  text-align: center;
91
141
  padding: 30px 0;
@@ -1,24 +1,17 @@
1
1
  .alert {
2
- padding: 8px 35px 8px 14px;
2
+ border-bottom: 1px solid #e2e2e2;
3
3
  margin: 20px auto;
4
+ padding-bottom: 20px;
4
5
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
5
- background-color: #fcf8e3;
6
- border: 1px solid #fbeed5;
7
- -webkit-border-radius: 4px;
8
- -moz-border-radius: 4px;
9
- border-radius: 4px;
10
- width: 600px;
11
6
  text-align: center;
7
+ font-weight: bold;
8
+ font-size: 15px;
12
9
  }
13
10
 
14
11
  .alert.notice {
15
12
  color: #468847;
16
- background-color: #dff0d8;
17
- border-color: #d6e9c6;
18
13
  }
19
14
 
20
15
  .alert.error {
21
16
  color: #b94a48;
22
- background-color: #f2dede;
23
- border-color: #eed3d7;
24
17
  }
@@ -1,7 +1,9 @@
1
+ require 'generators/batch/batch_generator'
2
+
1
3
  module BatchManager
2
4
  class BatchesController < ApplicationController
3
5
  include BatchManager::Utils
4
- before_filter :retain_batch_params, :except => [:index]
6
+ before_filter :retain_batch_params, :except => [:index, :new, :create]
5
7
  helper_method :escape_batch_name
6
8
 
7
9
  def index
@@ -9,6 +11,24 @@ module BatchManager
9
11
  @details = BatchManager::Monitor.details
10
12
  end
11
13
 
14
+ def new
15
+ template = File.read(File.join(Rails::Generators::BatchGenerator.source_root, "batch.rb"))
16
+ @content = ERB.new(template).result(binding)
17
+ end
18
+
19
+ def create
20
+ batch_name = params[:batch_name]
21
+ if batch_name.blank?
22
+ flash[:error] = "Please input the batch name."
23
+ redirect_to(new_batch_url) and return
24
+ end
25
+ file_path = File.join(BatchManager.batch_dir, batch_name)
26
+ file_path << ".rb" unless file_path.end_with?(".rb")
27
+ FileUtils.mkdir_p(File.dirname(file_path)) if batch_name.include?("/")
28
+ File.open(file_path, "w") { |f| f << params[:content] }
29
+ redirect_to(batches_url, :notice => "#{batch_name} created.")
30
+ end
31
+
12
32
  def edit
13
33
  @content = File.read(batch_full_path(@batch_name))
14
34
  end
@@ -0,0 +1,8 @@
1
+ <%= hidden_field_tag :content, @content, :id => "content" %>
2
+ <div id="editor"><%= @content %></div>
3
+ <div class="group" style="margin-top:15px;">
4
+ <div style="float:left;"><%= submit_tag "Save", :class => "btn info large" %></div>
5
+ <div style="margin-left:15px;float:left;padding-top:6px;">
6
+ <%= link_to "Cancel", batches_url, :class => "cancel" %>
7
+ </div>
8
+ </div>
@@ -6,12 +6,5 @@
6
6
  </div>
7
7
 
8
8
  <%= form_tag batch_url(escape_batch_name(@batch_name)), :method => :put do %>
9
- <%= hidden_field_tag :content, @content, :id => "content" %>
10
- <div id="editor"><%= @content %></div>
11
- <div class="group" style="margin-top:15px;">
12
- <div style="float:left;"><%= submit_tag "Save", :class => "btn info large" %></div>
13
- <div style="margin-left:15px;float:left;padding-top:6px;">
14
- <%= link_to "Cancel", batches_url, :class => "cancel" %>
15
- </div>
16
- </div>
9
+ <%= render "form_content" %>
17
10
  <% end %>
@@ -8,14 +8,6 @@
8
8
  <% end %>
9
9
  </div>
10
10
  </div>
11
- <div class="group">
12
- <% if flash[:notice] %>
13
- <div class="alert notice"><%= flash[:notice] %></div>
14
- <% end %>
15
- <% if flash[:error] %>
16
- <div class="alert error"><%= flash[:error] %></div>
17
- <% end %>
18
- </div>
19
11
  <table>
20
12
  <tr>
21
13
  <th>Managed?</th>
@@ -31,7 +23,7 @@
31
23
  <tr>
32
24
  <td><%= status.managed?? "Yes" : "" %></td>
33
25
  <td><%= status.name %></td>
34
- <td style="text-align:right;"><%= schema_batch.try(:ran_times).to_i %>/<%= status.times_limit || 0 %></td>
26
+ <td style="text-align:right;"><%= schema_batch.try(:ran_times).to_i %><span class="divider">/</span><%= status.times_limit || 0 %></td>
35
27
  <td style="text-align:center;">
36
28
  <% if last_ran_at = schema_batch.try(:last_ran_at) %>
37
29
  <%= last_ran_at.strftime('%Y-%m-%d %H:%M:%S') %>
@@ -0,0 +1,9 @@
1
+ <%= javascript_include_tag "batch_manager/editor" %>
2
+
3
+ <%= form_tag batches_url do %>
4
+ <div class="group title">
5
+ <h2 style="float:left;">New Batch</h2>
6
+ <div class="new_batch" style="float:left;margin-left:25px;"><%= text_field_tag :batch_name, nil, :placeholder => "Batch name here..." %></div>
7
+ </div>
8
+ <%= render "form_content" %>
9
+ <% end %>
@@ -10,11 +10,20 @@
10
10
 
11
11
  <header>
12
12
  <div class="inner">
13
- <h1>BatchManager</h1>
13
+ <h1><%= link_to "BatchManager", batches_url %></h1>
14
+ <div class="new_link"><%= link_to "NEW BATCH", new_batch_url %></div>
14
15
  </div>
15
16
  </header>
16
17
 
17
18
  <div id="wrapper">
19
+ <div class="group">
20
+ <% if flash[:notice] %>
21
+ <div class="alert notice"><%= flash[:notice] %></div>
22
+ <% end %>
23
+ <% if flash[:error] %>
24
+ <div class="alert error"><%= flash[:error] %></div>
25
+ <% end %>
26
+ </div>
18
27
  <%= yield %>
19
28
  </div>
20
29
 
@@ -1,3 +1,3 @@
1
1
  module BatchManager
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: batch_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weihu Chen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-13 00:00:00.000000000 Z
11
+ date: 2013-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -130,9 +130,11 @@ files:
130
130
  - app/assets/stylesheets/batch_manager/table.css
131
131
  - app/controllers/batch_manager/application_controller.rb
132
132
  - app/controllers/batch_manager/batches_controller.rb
133
+ - app/views/batch_manager/batches/_form_content.html.erb
133
134
  - app/views/batch_manager/batches/edit.html.erb
134
135
  - app/views/batch_manager/batches/index.html.erb
135
136
  - app/views/batch_manager/batches/log.html.erb
137
+ - app/views/batch_manager/batches/new.html.erb
136
138
  - app/views/layouts/batch_manager/application.html.erb
137
139
  - app/workers/batch_manager/exec_batch_worker.rb
138
140
  - config/routes.rb