{"id":13078,"date":"2021-01-30T10:30:06","date_gmt":"2021-01-30T01:30:06","guid":{"rendered":"http:\/\/www.code-magagine.com\/?p=13078"},"modified":"2023-05-27T22:39:33","modified_gmt":"2023-05-27T13:39:33","slug":"%e3%80%90ruby-on-rails%e3%80%91%e3%80%8cenumrize%e3%80%8d%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6","status":"publish","type":"post","link":"http:\/\/www.code-magagine.com\/?p=13078","title":{"rendered":"\u3010Ruby on Rails\u3011\u300cEnumrize\u300d\u306b\u3064\u3044\u3066"},"content":{"rendered":"<h2>\u4e8b\u524d\u6e96\u5099<\/h2>\n<h3>model\u5074<\/h3>\n<pre class=\"lang:default decode:true\">class Japan\r\n  extend Enumerize\r\n\r\n  enumerize :sikoku, in: { tokusima: 1, kagawa: 2, ehime: 3, kouti: 4 }\r\nend<\/pre>\n<h3>locales\u5074<\/h3>\n<pre class=\"lang:default decode:true\">ja:\r\n  enumerize:\r\n    japan:\r\n      sikoku:\r\n        tokusima: \u5fb3\u5cf6\r\n        kagawa: \u9999\u5ddd\r\n        ehime: \u611b\u5a9b\r\n        kouti: \u9ad8\u77e5<\/pre>\n<h2>\u5b9f\u88c5<\/h2>\n<h3>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bd\u30c3\u30c9(Enum\u306e\u500b\u3005\u306e\u5024\u3092\u64cd\u4f5c\u3059\u308b)<\/h3>\n<p>\u3053\u308c\u3067new\u3057\u305f\u3068\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">japan = Japan.new(sikoku: :kouti)<\/pre>\n<p>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30af\u30e9\u30b9\u306fEnumrize\u30e2\u30b8\u30e5\u30fc\u30eb\u306eValue\u30af\u30e9\u30b9\u300cEnumrize::Value\u300d\u304c\u8fd4\u308b<\/p>\n<pre class=\"lang:default decode:true\">japan.sikoku.class<\/pre>\n<p>https:\/\/github.com\/brainspec\/enumerize\/blob\/master\/lib\/enumerize\/value.rb<\/p>\n<h3>\u300c\u9ad8\u77e5\u300d\u304c\u8fd4\u308b<\/h3>\n<pre class=\"lang:default decode:true\">japan.sikoku_text<\/pre>\n<h3>\u5024(4)\u304c\u8fd4\u308b<\/h3>\n<pre class=\"lang:default decode:true\">japan.sikoku.value<\/pre>\n<h3>\u30af\u30e9\u30b9\u30e1\u30bd\u30c3\u30c9(Enum\u306e\u5168\u4f53\u306e\u5024\u3092\u64cd\u4f5c\u3059\u308b)<\/h3>\n<p>\u30af\u30e9\u30b9\u3092\u64cd\u4f5c\u3059\u308b\u306b\u306fEnumrize\u30e2\u30b8\u30e5\u30fc\u30eb\u306eattribute\u30af\u30e9\u30b9\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">Japan.sikoku.class<\/pre>\n<p>https:\/\/github.com\/brainspec\/enumerize\/blob\/master\/lib\/enumerize\/attribute.rb<\/p>\n<h4>\u6587\u5b57\u5217\u306e\u914d\u5217\uff08[\"tokusima\",\"kagawa\",\"ehime\",\"kouti\"]\uff09\u304c\u8fd4\u308b<\/h4>\n<pre class=\"lang:default decode:true\">Japan.sikoku.values<\/pre>\n<h4>2\u6b21\u5143\u914d\u5217\uff08[[\"\u5fb3\u5cf6\",\"tokusima\"],[\"\u9999\u5ddd\",\"kagawa\"],[\"\u611b\u5a9b\",\"ehime\"],[\"\u9ad8\u77e5\",\"kouti\"]]\uff09\u304c\u8fd4\u308b<\/h4>\n<pre class=\"lang:default decode:true\">Japan.sikoku.options<\/pre>\n<h2>scope(ActiveRecord::Relation\u3067\u51e6\u7406)<\/h2>\n<h3>\u4e8b\u524d\u6e96\u5099<\/h3>\n<pre class=\"lang:default decode:true \">class Japan\r\n  extend Enumerize\r\n\r\n  enumerize :sikoku, in: { tokusima: 1, kagawa: 2, ehime: 3, kouti: 4 }, scope: true\r\nend<\/pre>\n<h3>\u5024\u3092\u53d6\u5f97\u3059\u308b\u3002<\/h3>\n<p>\u5fb3\u5cf6\u306b\u8a72\u5f53\u3059\u308b\u30ec\u30b3\u30fc\u30c9\u3092\u5168\u4ef6ActiveRecord::Relation\u306e\u5f62\u3067\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002model\u306escope\u3068\u540c\u3058\u5f79\u5272\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">Japan.with_sikoku(:tokusima)<\/pre>\n<h2>\u305d\u306e\u4ed6\u77e5\u8b58<\/h2>\n<p>\u3053\u308c\u3060\u3051\u3067inclusion\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u304c\u304b\u304b\u308a\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"\u4e8b\u524d\u6e96\u5099 model\u5074 class Japan extend Enumerize enumerize :sikoku, in: { tokusima: 1, kagawa: 2, ehime: 3, kouti: 4 } [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[36],"tags":[],"_links":{"self":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/13078"}],"collection":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13078"}],"version-history":[{"count":5,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/13078\/revisions"}],"predecessor-version":[{"id":20489,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=\/wp\/v2\/posts\/13078\/revisions\/20489"}],"wp:attachment":[{"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13078"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.code-magagine.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}