fuel 0.3.3 → 0.3.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -2
- data/app/assets/images/fuel/icon-test.png +0 -0
- data/app/assets/images/fuel/icons/application-icons.svg +1 -0
- data/app/assets/images/fuel/icons/calendar-icon.svg +1 -0
- data/app/assets/images/fuel/icons/dropdown-arrow-icon.svg +10 -0
- data/app/assets/images/fuel/icons/navigation-icons.svg +1 -0
- data/app/assets/javascripts/fuel/admin.js.erb +17 -17
- data/app/assets/javascripts/fuel/application.js +8 -0
- data/app/assets/javascripts/fuel/datepicker.js +11 -0
- data/app/assets/javascripts/fuel/facebook.js +12 -0
- data/app/assets/javascripts/fuel/posts.js.erb +16 -0
- data/app/assets/javascripts/fuel/rich-text.js +9 -0
- data/app/assets/javascripts/fuel/sliding-panel.js +11 -0
- data/app/assets/stylesheets/fuel/_page-layout.scss +61 -0
- data/app/assets/stylesheets/fuel/_post-list.scss +70 -0
- data/app/assets/stylesheets/fuel/application.css.scss +27 -2
- data/app/assets/stylesheets/fuel/base/_base.scss +5 -0
- data/app/assets/stylesheets/fuel/base/_layout.scss +54 -0
- data/app/assets/stylesheets/fuel/base/_typography.scss +102 -0
- data/app/assets/stylesheets/fuel/components/_alerts.scss +27 -0
- data/app/assets/stylesheets/fuel/components/_animations.scss +26 -0
- data/app/assets/stylesheets/fuel/components/_application-icons.scss +42 -0
- data/app/assets/stylesheets/fuel/components/_buttons.scss +106 -0
- data/app/assets/stylesheets/fuel/components/_card.scss +39 -0
- data/app/assets/stylesheets/fuel/components/_components.scss +13 -0
- data/app/assets/stylesheets/fuel/components/_forms.scss +90 -0
- data/app/assets/stylesheets/fuel/components/_navbar.scss +45 -0
- data/app/assets/stylesheets/fuel/components/_navigation-icons.scss +41 -0
- data/app/assets/stylesheets/fuel/components/_page-sidebar.scss +60 -0
- data/app/assets/stylesheets/fuel/components/_sliding-panel.scss +59 -0
- data/app/assets/stylesheets/fuel/settings/_reset.scss +46 -0
- data/app/assets/stylesheets/fuel/settings/_settings.scss +19 -0
- data/app/assets/stylesheets/fuel/settings/mixins/_layout.scss +20 -0
- data/app/assets/stylesheets/fuel/settings/mixins/_misc.scss +27 -0
- data/app/assets/stylesheets/fuel/settings/mixins/_rem.scss +46 -0
- data/app/assets/stylesheets/fuel/settings/mixins/_typography.scss +64 -0
- data/app/assets/stylesheets/fuel/settings/variables/_alerts.scss +9 -0
- data/app/assets/stylesheets/fuel/settings/variables/_buttons.scss +8 -0
- data/app/assets/stylesheets/fuel/settings/variables/_colors.scss +55 -0
- data/app/assets/stylesheets/fuel/settings/variables/_typography.scss +25 -0
- data/app/controllers/fuel/admin/admin_controller.rb +7 -0
- data/app/controllers/fuel/admin/authors_controller.rb +80 -0
- data/app/controllers/fuel/admin/posts_controller.rb +68 -54
- data/app/controllers/fuel/fuel_controller.rb +5 -0
- data/app/controllers/fuel/posts_controller.rb +13 -7
- data/app/controllers/fuel_controller.rb +5 -0
- data/app/helpers/fuel/posts_helper.rb +28 -1
- data/app/models/fuel.rb +5 -0
- data/app/models/fuel/author.rb +18 -0
- data/app/models/fuel/post.rb +32 -2
- data/app/views/fuel/admin/authors/_authors.html.erb +24 -0
- data/app/views/fuel/admin/authors/_form.html.erb +52 -0
- data/app/views/fuel/admin/authors/edit.html.erb +9 -0
- data/app/views/fuel/admin/authors/index.html.erb +7 -0
- data/app/views/fuel/admin/authors/new.html.erb +6 -0
- data/app/views/fuel/admin/posts/_content.html.erb +5 -0
- data/app/views/fuel/admin/posts/_form.html.erb +56 -0
- data/app/views/fuel/admin/posts/_post_preview.html.erb +12 -0
- data/app/views/fuel/admin/posts/_posts.html.erb +23 -0
- data/app/views/fuel/admin/posts/edit.html.erb +11 -0
- data/app/views/fuel/admin/posts/index.html.erb +6 -0
- data/app/views/fuel/admin/posts/new.html.erb +9 -0
- data/app/views/fuel/components/_navbar.html.erb +22 -0
- data/app/views/fuel/posts/_additional_info.html.erb +7 -0
- data/app/views/fuel/posts/_facebook_sdk.html.erb +17 -0
- data/app/views/fuel/posts/_tweet.html.erb +1 -1
- data/app/views/fuel/posts/index.html.erb +27 -6
- data/app/views/fuel/posts/show.html.erb +19 -2
- data/app/views/layouts/fuel/application.html.erb +19 -12
- data/config/routes.rb +18 -10
- data/db/migrate/20141114201953_add_featured_image_field.rb +5 -0
- data/db/migrate/20141118162158_add_teaser_to_posts.rb +5 -0
- data/db/migrate/20141217174229_add_featured_image_to_posts.rb +10 -0
- data/db/migrate/20150414220732_add_seo_fields_to_post.rb +6 -0
- data/db/migrate/20150529201715_add_posted_at_to_posts.rb +5 -0
- data/db/migrate/20150529202105_create_fuel_authors.rb +13 -0
- data/db/migrate/20150530180444_add_author_id_to_posts.rb +5 -0
- data/db/migrate/20150603205232_add_contact_methods_to_authors.rb +8 -0
- data/db/migrate/20150604155028_add_published_at_to_fuel_posts.rb +5 -0
- data/db/migrate/20150604161900_remove_posted_at_from_fuel_posts.rb +5 -0
- data/lib/blog_importer.rb +82 -0
- data/lib/example_author.rb +108 -0
- data/lib/fuel.rb +7 -1
- data/lib/fuel/configuration.rb +16 -1
- data/lib/fuel/engine.rb +13 -1
- data/lib/fuel/version.rb +1 -1
- data/lib/generators/fuel/install_generator.rb +4 -0
- data/lib/generators/fuel/views_generator.rb +1 -1
- data/lib/generators/templates/fuel.rb +22 -0
- data/lib/kaminari/helpers/tag.rb +16 -0
- data/lib/tasks/fuel_tasks.rake +35 -4
- data/test/fixtures/fuel/authors.yml +11 -0
- data/test/models/fuel/author_test.rb +7 -0
- metadata +191 -15
- data/app/assets/stylesheets/fuel/admin.css.sass +0 -91
- data/app/assets/stylesheets/fuel/posts.css.sass +0 -23
- data/app/controllers/fuel/application_controller.rb +0 -4
- data/app/helpers/fuel/application_helper.rb +0 -34
- data/app/views/fuel/admin/posts/_content.html.slim +0 -3
- data/app/views/fuel/admin/posts/_form.html.slim +0 -28
- data/app/views/fuel/admin/posts/edit.html.slim +0 -4
- data/app/views/fuel/admin/posts/index.html.slim +0 -18
- data/app/views/fuel/admin/posts/new.html.slim +0 -4
- data/app/views/fuel/posts/_post.html.erb +0 -19
@@ -0,0 +1,12 @@
|
|
1
|
+
<%#= form_tag('preview', method: "post", id: "preview_form") do %>
|
2
|
+
<%#= hidden_field_tag :content %>
|
3
|
+
<%# end %>
|
4
|
+
<div class="js-menu sliding-panel-content">
|
5
|
+
<header class="sliding-panel-header">
|
6
|
+
<h5 class="inverse title">You are currently previewing this post.</h5>
|
7
|
+
</header>
|
8
|
+
<div class="sliding-panel-body">
|
9
|
+
<%= render 'content', content: @post.content %>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<div class="js-menu-screen sliding-panel-fade-screen"></div>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<aside class="page-sidebar post-sidebar">
|
2
|
+
<header class="page-sidebar--header">
|
3
|
+
<div class="header-container--left">
|
4
|
+
<h5 class="header--title">Your Posts</h5>
|
5
|
+
</div>
|
6
|
+
<div class="header-container--right">
|
7
|
+
<ul class="header-container--right__actions">
|
8
|
+
<li><%= link_to 'New Blog Post', fuel.new_admin_post_path, class: 'add-icon' %></li>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
</header>
|
12
|
+
<ul class="resource-list post-list">
|
13
|
+
<% @posts.each do |post| %>
|
14
|
+
<%= link_to fuel.edit_admin_post_path(post) do %>
|
15
|
+
<li class="resource-item post-item <%= 'active' if @post && @post == post %>">
|
16
|
+
<p class="post-item--date"><time><%= post.published ? "Published: #{post.published_at.strftime('%m/%d/%Y')}" : 'Draft' %></time> </p>
|
17
|
+
<h5 class="post-item--title"><%= post.title %></h5>
|
18
|
+
<p class="post-item--content"><%= truncate_html(post.teaser, length: 60).html_safe %></p>
|
19
|
+
</li>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
</ul>
|
23
|
+
</aside>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= render 'posts' %>
|
2
|
+
<section class="page">
|
3
|
+
<header class="page-header">
|
4
|
+
<h5 class="page-header--title"><span>Post</span>: <%= @post.title %></h5>
|
5
|
+
<%= link_to 'Preview Post', '#', class: "js-menu-trigger page-header--link" %>
|
6
|
+
</header>
|
7
|
+
<div class="page-area">
|
8
|
+
<%= render 'form' %>
|
9
|
+
<%= render partial: 'post_preview' %>
|
10
|
+
</div>
|
11
|
+
</section>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<aside class="navbar" role="navigation" aria-label="">
|
2
|
+
<div class="navbar-logo">
|
3
|
+
<%= image_tag 'fuel/icon-test.png', alt: 'Fuel' %>
|
4
|
+
</div>
|
5
|
+
<nav class="navbar-navigation">
|
6
|
+
<ul>
|
7
|
+
<%= link_to fuel.admin_posts_path do %>
|
8
|
+
<li class="navbar-link">
|
9
|
+
<i class="posts-icon"></i> Posts
|
10
|
+
</li>
|
11
|
+
<% end %>
|
12
|
+
<%= link_to fuel.admin_authors_path do %>
|
13
|
+
<li class="navbar-link">
|
14
|
+
<i class="authors-icon"></i> Authors
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
18
|
+
</nav>
|
19
|
+
<footer>
|
20
|
+
|
21
|
+
</footer>
|
22
|
+
</aside>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<div class="fuel-post-additional-info">
|
2
|
+
<!-- <span class="fuel_post_date"><%= post.created_at.strftime('%b %d, %Y') %> - </span> -->
|
3
|
+
<span class="fuel-post-author">By <%= post.author.full_name %></span>
|
4
|
+
<span class="fuel-social-buttons">
|
5
|
+
<%= render 'tweet', post: post if action_name == "show" && Fuel.configuration.twitter %>
|
6
|
+
</span>
|
7
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<script>
|
2
|
+
window.fbAsyncInit = function() {
|
3
|
+
FB.init({
|
4
|
+
appId : '<%= Fuel.configuration.facebook_app_id %>',
|
5
|
+
xfbml : true,
|
6
|
+
version : 'v2.2'
|
7
|
+
});
|
8
|
+
};
|
9
|
+
|
10
|
+
(function(d, s, id){
|
11
|
+
var js, fjs = d.getElementsByTagName(s)[0];
|
12
|
+
if (d.getElementById(id)) {return;}
|
13
|
+
js = d.createElement(s); js.id = id;
|
14
|
+
js.src = "//connect.facebook.net/en_US/sdk.js";
|
15
|
+
fjs.parentNode.insertBefore(js, fjs);
|
16
|
+
}(document, 'script', 'facebook-jssdk'));
|
17
|
+
</script>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<div>
|
2
|
-
<a href="https://twitter.com/share" class="twitter-share-button" data-text="<%= post.title %>" data-counturl="<%= post_url(post) %>" data-url="<%= post_url(post) %>" data-lang="en">Tweet</a>
|
2
|
+
<a href="https://twitter.com/share" class="twitter-share-button" data-text="<%= post.title %>" data-counturl="<%= fuel.post_url(post) %>" data-url="<%= fuel.post_url(post) %>" data-lang="en">Tweet</a>
|
3
3
|
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
4
4
|
</div>
|
@@ -1,6 +1,13 @@
|
|
1
|
+
<% content_for :social_meta_tags do %>
|
2
|
+
<meta property="og:title" content="<%= @blog_title %>"/>
|
3
|
+
<meta property="og:url" content="<%= fuel.blog_root_url %>"/>
|
4
|
+
<meta property="og:site_name" content="<%= Fuel.configuration.site_name %>"/>
|
5
|
+
<meta property="og:type" content="Website"/>
|
6
|
+
<% end %>
|
7
|
+
|
1
8
|
<div class="fuel fuel-posts">
|
2
9
|
<div class="tagline">
|
3
|
-
<h1 class="tagline"><%= link_to @blog_title, blog_root_path %></h1>
|
10
|
+
<h1 class="tagline"><%= link_to @blog_title, fuel.blog_root_path %></h1>
|
4
11
|
</div>
|
5
12
|
|
6
13
|
<% if @posts %>
|
@@ -8,12 +15,26 @@
|
|
8
15
|
<%= paginate @posts %>
|
9
16
|
<% @posts.each do |post| %>
|
10
17
|
<article class="fuel-post fuel-post-index">
|
11
|
-
<h2 class="fuel-post-title"><%= link_to post.title, post %></h2>
|
12
|
-
|
18
|
+
<h2 class="fuel-post-title"><%= link_to post.title, fuel.post_path(post) %></h2>
|
19
|
+
<div class="fuel-post-additional-info">
|
20
|
+
<span class="fuel_post_date"><%= post.created_at.strftime('%b %d, %Y') %> - </span>
|
21
|
+
<span class="fuel-post-author">By <%= post.author.full_name %></span>
|
22
|
+
</div>
|
23
|
+
<% if post.featured_image_file_name.present? || post.featured_image_url.present? %>
|
24
|
+
<div class="image-area">
|
25
|
+
<%= image_tag post.prioritized_featured_image_url(:medium) %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
28
|
+
<div class="fuel-post-content">
|
29
|
+
<% content = post.teaser && post.teaser.length > 0 ? post.teaser : post.content %>
|
30
|
+
<%= truncate_html(content, length: 250).html_safe %>
|
31
|
+
</div>
|
32
|
+
<% if post.content.length > 800 %>
|
33
|
+
<p><%= link_to 'Read more', fuel.post_url(post) %></p>
|
34
|
+
<% end %>
|
13
35
|
</article>
|
14
36
|
<% end %>
|
15
37
|
</section>
|
16
|
-
<% else %>
|
17
|
-
|
18
38
|
<% end %>
|
19
|
-
|
39
|
+
|
40
|
+
</div>
|
@@ -1,10 +1,27 @@
|
|
1
|
+
<% content_for :social_meta_tags do %>
|
2
|
+
<meta property="og:image" content="<%= @post.prioritized_featured_image_url %>"/>
|
3
|
+
<meta property="og:title" content="<%= @post.title %>"/>
|
4
|
+
<meta property="og:url" content="<%= fuel.post_url(@post) %>"/>
|
5
|
+
<meta property="og:site_name" content="<%= Fuel.configuration.site_name %>"/>
|
6
|
+
<meta property="og:type" content="Website"/>
|
7
|
+
<% end %>
|
8
|
+
|
1
9
|
<div class="fuel fuel-posts">
|
2
10
|
<div class="tagline">
|
3
|
-
<h1 class="tagline"><%= link_to @blog_title, blog_root_path %></h1>
|
11
|
+
<h1 class="tagline"><%= link_to @blog_title, fuel.blog_root_path %></h1>
|
4
12
|
</div>
|
5
13
|
<article class="fuel-post fuel-post-show">
|
6
14
|
<h2 class="fuel-post-title"><%= @post.title %></h2>
|
7
|
-
|
15
|
+
<div class="fuel-post-additional-info">
|
16
|
+
<span class="fuel_post_date"><%= @post.created_at.strftime('%b %d, %Y') %> - </span>
|
17
|
+
<span class="fuel-post-author">By <%= @post.author.full_name %></span>
|
18
|
+
<span class="fuel-social-buttons">
|
19
|
+
<%= render 'tweet', post: @post if Fuel.configuration.twitter %>
|
20
|
+
</span>
|
21
|
+
</div>
|
22
|
+
<div class="fuel-post-content">
|
23
|
+
<%= @post.content.html_safe %>
|
24
|
+
</div>
|
8
25
|
</article>
|
9
26
|
<div class="disqus-area">
|
10
27
|
<%= render 'disqus' if @disqus_name %>
|
@@ -1,14 +1,21 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
|
-
<head>
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
3
|
+
<head>
|
4
|
+
<title><%= @title %></title>
|
5
|
+
<meta name="description" content="<%= @description %>">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
7
|
+
<%= stylesheet_link_tag "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css", :media => "all" %>
|
8
|
+
<%= csrf_meta_tags %>
|
9
|
+
<%= stylesheet_link_tag "fuel/application", media: "all" %>
|
10
|
+
<script src="//use.typekit.net/nti1hfq.js"></script>
|
11
|
+
<script async>try{Typekit.load();}catch(e){}</script>
|
12
|
+
</head>
|
13
|
+
<body class="<%= controller_name %>-controller <%= action_name %>-action">
|
14
|
+
<%= render partial: 'fuel/components/navbar' %>
|
15
|
+
<main role="main" aria-label="main-content" class="<%= controller_name -%> <%= action_name -%> navbar-offset">
|
16
|
+
<%= yield %>
|
17
|
+
</main>
|
18
|
+
<%= javascript_include_tag "fuel/application" %>
|
19
|
+
<%= javascript_include_tag 'application' %>
|
20
|
+
</body>
|
21
|
+
</html>
|
data/config/routes.rb
CHANGED
@@ -1,17 +1,25 @@
|
|
1
1
|
Fuel::Engine.routes.draw do
|
2
|
-
resources :posts
|
3
2
|
|
4
|
-
|
3
|
+
scope module: 'fuel' do
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
root to: 'posts#index', as: :blog_root
|
6
|
+
# admin namespace is listed first intentionally
|
7
|
+
namespace :admin do
|
8
|
+
root to: 'posts#index'
|
9
|
+
get "posts/preview" => 'posts#preview'
|
10
|
+
get "posts/:slug/posts/preview" => 'posts#preview'
|
11
|
+
resources :posts do
|
12
|
+
member do
|
13
|
+
get 'content'
|
14
|
+
end
|
13
15
|
end
|
16
|
+
resources :authors
|
14
17
|
end
|
18
|
+
|
19
|
+
get '/posts'=> 'posts#index'
|
20
|
+
resources :posts, path: ''
|
21
|
+
get '/posts/:id' => 'posts#redirect'
|
22
|
+
|
15
23
|
end
|
16
24
|
|
17
|
-
end
|
25
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'example_author'
|
3
|
+
|
4
|
+
class BlogImporter
|
5
|
+
|
6
|
+
DEFAULT_API_ADDRESS = "http://launchpadlab.com/api/posts.json"
|
7
|
+
|
8
|
+
attr_reader :api_url
|
9
|
+
attr_accessor :parsed_json
|
10
|
+
|
11
|
+
def initialize(args = {})
|
12
|
+
@api_url = args.fetch(:api_url, DEFAULT_API_ADDRESS)
|
13
|
+
end
|
14
|
+
|
15
|
+
def pull
|
16
|
+
create_authors
|
17
|
+
open(api_url) do |f|
|
18
|
+
json_string = f.read
|
19
|
+
@parsed_json = JSON.parse(json_string)
|
20
|
+
end
|
21
|
+
add_posts_to_db
|
22
|
+
end
|
23
|
+
|
24
|
+
def add_posts_to_db
|
25
|
+
parsed_json.each do |post|
|
26
|
+
puts "Importing #{post['title']}"
|
27
|
+
post.delete("id")
|
28
|
+
author_name = post["author"].dup
|
29
|
+
image_url = post["prioritized_featured_image_url"].present? ? post["prioritized_featured_image_url"].dup : nil
|
30
|
+
post.delete("prioritized_featured_image_url")
|
31
|
+
member = author_name_to_member[author_name]
|
32
|
+
author = Fuel::Author.find_by_email(member[:email])
|
33
|
+
post["author_id"] = author.id
|
34
|
+
post.delete("author")
|
35
|
+
new_post = Fuel::Post.new(post)
|
36
|
+
new_post.featured_image = URI.parse(image_url) if image_url.present?
|
37
|
+
new_post.published_at = post["created_at"] if new_post.published
|
38
|
+
puts new_post.published_at
|
39
|
+
new_post.save
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def author_name_to_member
|
44
|
+
@key_to_member ||= {
|
45
|
+
"BH" => ExampleAuthor::BRENDAN,
|
46
|
+
"Brendan" => ExampleAuthor::BRENDAN,
|
47
|
+
"Tom" => ExampleAuthor::TOM,
|
48
|
+
"TC" => ExampleAuthor::TOM,
|
49
|
+
"Ryan" => ExampleAuthor::RYAN,
|
50
|
+
"Scott" => ExampleAuthor::SCOTT,
|
51
|
+
"Kurt" => ExampleAuthor::KURT,
|
52
|
+
"Katie" => ExampleAuthor::KATIE,
|
53
|
+
"Scott " => ExampleAuthor::SCOTT,
|
54
|
+
"Monique" => ExampleAuthor::MONIQUE,
|
55
|
+
"Jack " => ExampleAuthor::JACK,
|
56
|
+
"Dave" => ExampleAuthor::DAVE
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
def create_authors
|
61
|
+
[ExampleAuthor::BRENDAN, ExampleAuthor::TOM, ExampleAuthor::RYAN, ExampleAuthor::SCOTT, ExampleAuthor::KURT, ExampleAuthor::DAVE, ExampleAuthor::KATIE, ExampleAuthor::MONIQUE, ExampleAuthor::JACK].each do |member_const|
|
62
|
+
member = member_const.dup
|
63
|
+
author = Fuel::Author.find_by_email(member["email"])
|
64
|
+
next if author.present?
|
65
|
+
image_path = member[:image_path].dup
|
66
|
+
member.delete(:image_path)
|
67
|
+
member.delete(:image_alt)
|
68
|
+
new_author = Fuel::Author.new(member)
|
69
|
+
|
70
|
+
avatar_location = "#{Rails.root}/app/assets/images/#{image_path}"
|
71
|
+
puts avatar_location
|
72
|
+
file = File.open(avatar_location)
|
73
|
+
new_author.avatar = file
|
74
|
+
file.close
|
75
|
+
|
76
|
+
puts "creating new author..."
|
77
|
+
new_author.save!
|
78
|
+
puts "Author #{Fuel::Author.count} created."
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|