administrate-field-hyperlink 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e746691035c0dc29cd8d872cb59ce88d8aa1ac75f2c3abd2ddbe8507b85e86c3
4
- data.tar.gz: 5787e4318bc57d96066935831268f8b2b3a4521c95c6a6f9da28cf678f4ac2d9
3
+ metadata.gz: d29f7778a1a81a1561da42b08b4b73b2fed336dbabb351ffc58b646f3a9d289e
4
+ data.tar.gz: 5279a0cec0b96469ec39220ddd7e2d45bdccdc669b19d814fc206ecf375c0d50
5
5
  SHA512:
6
- metadata.gz: 6b109d582399ce0a40105e54f30c02bbe9361f58c70ef8de6cf20dead3e744bd1338772d8bdea925ee3c5214d220c8250a5f1aaace1389155c254b8bbeda0ca7
7
- data.tar.gz: 6100ce25a7becbd574d50415f66dce0d3a4593dd47b099f006f79359050f8aca401e19c7fa2b103f5edf9e426447cb261a9ba5300ff0c30708749b04901ef3d7
6
+ metadata.gz: ffd04faba7aae164458549486e7a52faa654e348461b5a26c06929a7b37544e2da7e2c371f15cd1eef6a259939ea4f255febeba5f0570088450f396f359bcda0
7
+ data.tar.gz: b7e8b49cbf287e99220be74ec65f654cfeeb09efcf5708f846e272d8b187121703a334508e6c5f5b87f5390afe3400759ee6f7575d1d2d1e239917ecd4d7fd71
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.3.0
4
+
5
+ - Add `label` option
6
+ - Add `fallback_href` option
7
+ - Allow `nil` and `''` values for hyperlinks
8
+ - Add `present?` which is `true` if the field should show, `false` otherwise
9
+
3
10
  ## 0.2.0
4
11
 
5
12
  Fix an issue with dependency and version management
data/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  A string field that is shows a hyperlink.
8
8
 
9
+ ![Example](./example.png)
10
+
9
11
  ## Installation
10
12
 
11
13
  Add this line to your application's Gemfile:
@@ -52,6 +54,8 @@ end
52
54
  | option | default | description |
53
55
  |--------|-------|-------------|
54
56
  | `scheme` | `https://` | Scheme to use if there is none given |
57
+ | `fallback_href` | nil | `href` to use if the value is `blank?` |
58
+ | `label` | `self#href` | The label to use instead of the `href` |
55
59
 
56
60
  ## Related
57
61
 
@@ -67,6 +71,7 @@ end
67
71
 
68
72
  - [`Administrate::Field::Code`](https://github.com/XPBytes/administrate-field-code): :pencil: A `text` field that shows code.
69
73
  - [`Adminisrtate::Field::JsonEditor`](https://github.com/XPBytes/administrate-field-json_editor): :pencil: A `text` field that shows a [JSON editor](https://github.com/josdejong/jsoneditor).
74
+ - [`Administrate::Field::LazyBelongsTo`](https://github.com/XPBytes/administrate-field-lazy_belongs_to): :pencil: A `belongs to`-like field that lazily loads candidates from a custom endpoint.
70
75
  - [`Administrate::Field::ScopedBelongsTo`](https://github.com/XPBytes/administrate-field-scoped_belongs_to): :pencil: A `belongs_to` field that yields itself to the scope `lambda`.
71
76
  - [`Administrate::Field::ScopedHasMany`](https://github.com/XPBytes/administrate-field-scoped_has_many): :pencil: A `has_many` field that yields itself to the scope `lambda`.
72
77
  - [`Administrate::Field::TimeAgo`](https://github.com/XPBytes/administrate-field-time_ago): :pencil: A `date_time` field that shows its data as `time_ago` since.
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.metadata['homepage_uri'] = spec.homepage
21
21
  spec.metadata['source_code_uri'] = spec.homepage
22
- spec.metadata['changelog_uri'] = spec.homepage + '/CHANGELOG.md'
22
+ spec.metadata['changelog_uri'] = spec.homepage + '/blob/master/CHANGELOG.md'
23
23
  else
24
24
  raise 'RubyGems 2.0 or newer is required to protect against ' \
25
25
  'public gem pushes.'
@@ -16,4 +16,6 @@ By default, the attribute is rendered as a hyperlink to the data with the trunca
16
16
  [2]: http://www.rubydoc.info/gems/administrate/Administrate/Field/String
17
17
  %>
18
18
 
19
- <%= link_to field.truncate, field.href, target: '_blank', rel: 'noopener noreferrer' %>
19
+ <% if field.present? %>
20
+ <%= link_to field.truncate, field.href, target: '_blank', rel: 'noopener noreferrer' %>
21
+ <% end %>
@@ -16,4 +16,6 @@ By default, the attribute is rendered as a hyperlink to the data with the entire
16
16
  [2]: http://www.rubydoc.info/gems/administrate/Administrate/Field/String
17
17
  %>
18
18
 
19
- <%= link_to field.data, field.href, target: '_blank', rel: 'noopener noreferrer' %>
19
+ <% if field.present? %>
20
+ <%= link_to field.data, field.href, target: '_blank', rel: 'noopener noreferrer' %>
21
+ <% end %>
data/example.png ADDED
Binary file
@@ -9,11 +9,18 @@ module Administrate
9
9
  class Engine < ::Rails::Engine
10
10
  end
11
11
 
12
+ def present?
13
+ (data.presence | options.fetch(:fallback_href) { nil }).present?
14
+ end
15
+
12
16
  def to_s
13
- data
17
+ options.fetch(:label) do
18
+ data.presence || options.fetch(:fallback_href) { nil }
19
+ end
14
20
  end
15
21
 
16
22
  def href
23
+ return options.fetch(:fallback_href) { nil } unless data.present?
17
24
  return data if data.include?('://') || data.start_with?('//')
18
25
 
19
26
  "#{options.fetch(:scheme) { 'https://' }}#{data}"
@@ -1,7 +1,7 @@
1
1
  module Administrate
2
2
  module Field
3
3
  module HyperlinkVersion
4
- VERSION = '0.2.0'.freeze
4
+ VERSION = '0.3.0'.freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: administrate-field-hyperlink
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derk-Jan Karrenbeld
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-15 00:00:00.000000000 Z
11
+ date: 2019-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: administrate
@@ -109,6 +109,7 @@ files:
109
109
  - app/views/fields/hyperlink/_form.html.erb
110
110
  - app/views/fields/hyperlink/_index.html.erb
111
111
  - app/views/fields/hyperlink/_show.html.erb
112
+ - example.png
112
113
  - lib/administrate/field/hyperlink.rb
113
114
  - lib/administrate/field/hyperlink/version.rb
114
115
  homepage: https://github.com/XPBytes/administrate-field-hyperlink
@@ -117,7 +118,7 @@ licenses:
117
118
  metadata:
118
119
  homepage_uri: https://github.com/XPBytes/administrate-field-hyperlink
119
120
  source_code_uri: https://github.com/XPBytes/administrate-field-hyperlink
120
- changelog_uri: https://github.com/XPBytes/administrate-field-hyperlink/CHANGELOG.md
121
+ changelog_uri: https://github.com/XPBytes/administrate-field-hyperlink/blob/master/CHANGELOG.md
121
122
  post_install_message:
122
123
  rdoc_options: []
123
124
  require_paths:
@@ -133,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
134
  - !ruby/object:Gem::Version
134
135
  version: '0'
135
136
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.7.6
137
+ rubygems_version: 3.0.3
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: A string field that shows a hyperlink.