From d55463f474c641461878f3305a1454b562f89df8 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Thu, 21 Apr 2016 11:22:57 +0100 Subject: [PATCH] Initial commit --- README.md | 5 +++++ administrate-field-color.gemspec | 21 +++++++++++++++++++++ app/views/fields/color/_form.html.erb | 6 ++++++ app/views/fields/color/_index.html.erb | 2 ++ app/views/fields/color/_show.html.erb | 2 ++ lib/administrate/field/color.rb | 13 +++++++++++++ spec/lib/administrate/field/color_spec.rb | 14 ++++++++++++++ 7 files changed, 63 insertions(+) create mode 100644 README.md create mode 100644 administrate-field-color.gemspec create mode 100644 app/views/fields/color/_form.html.erb create mode 100644 app/views/fields/color/_index.html.erb create mode 100644 app/views/fields/color/_show.html.erb create mode 100644 lib/administrate/field/color.rb create mode 100644 spec/lib/administrate/field/color_spec.rb diff --git a/README.md b/README.md new file mode 100644 index 0000000..b13727e --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Administrate::Field::Color + +A plugin to handle colors in [Administrate]. + +[Administrate]: https://github.com/thoughtbot/administrate diff --git a/administrate-field-color.gemspec b/administrate-field-color.gemspec new file mode 100644 index 0000000..b50b929 --- /dev/null +++ b/administrate-field-color.gemspec @@ -0,0 +1,21 @@ +$:.push File.expand_path("../lib", __FILE__) + +require "administrate/field/color" + +Gem::Specification.new do |gem| + gem.name = "administrate-field-color" + gem.version = Administrate::Field::Color::VERSION + gem.authors = ["Dan Barber"] + gem.email = ["hello@danbarber.me"] + gem.homepage = "https://github.com/danbee/administrate_field_color" + gem.summary = "Color field plugin for Administrate" + gem.description = gem.summary + gem.license = "MIT" + + gem.require_paths = ["lib"] + gem.files = `git ls-files`.split("\n") + gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") + + gem.add_dependency "administrate", ">= 0.2.0.rc1", "< 0.3.0" + gem.add_dependency "rails", "~> 4.2" +end diff --git a/app/views/fields/color/_form.html.erb b/app/views/fields/color/_form.html.erb new file mode 100644 index 0000000..97460e7 --- /dev/null +++ b/app/views/fields/color/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.color_field field.attribute, style: 'height: 2.35em; width: 5em;' %> +
diff --git a/app/views/fields/color/_index.html.erb b/app/views/fields/color/_index.html.erb new file mode 100644 index 0000000..391309d --- /dev/null +++ b/app/views/fields/color/_index.html.erb @@ -0,0 +1,2 @@ +<%= content_tag :div, nil, + style: "height: 1.5em; width: 1.5em; background-color: #{field.data}" %> diff --git a/app/views/fields/color/_show.html.erb b/app/views/fields/color/_show.html.erb new file mode 100644 index 0000000..fbf2ae3 --- /dev/null +++ b/app/views/fields/color/_show.html.erb @@ -0,0 +1,2 @@ +<%= content_tag :span, field.data, + style: "color: white; padding: 0.2em 0.5em; background-color: #{field.data}" %> diff --git a/lib/administrate/field/color.rb b/lib/administrate/field/color.rb new file mode 100644 index 0000000..d1db62e --- /dev/null +++ b/lib/administrate/field/color.rb @@ -0,0 +1,13 @@ +require "administrate/field/base" +require "rails" + +module Administrate + module Field + class Color < Administrate::Field::Base + VERSION = "0.0.1" + + class Engine < ::Rails::Engine + end + end + end +end diff --git a/spec/lib/administrate/field/color_spec.rb b/spec/lib/administrate/field/color_spec.rb new file mode 100644 index 0000000..ea76ccd --- /dev/null +++ b/spec/lib/administrate/field/color_spec.rb @@ -0,0 +1,14 @@ +require "administrate/field/color" + +describe Administrate::Field::Color do + describe "#to_partial_path" do + it "returns a partial based on the page being rendered" do + page = :show + field = Administrate::Field::Color.new(:color, "#ea4049", page) + + path = field.to_partial_path + + expect(path).to eq("/fields/color/#{page}") + end + end +end